fptl.net
当前位置:首页 >> #inCluDE<stDio.h>voiD mAin(){int x=3,y=4;x=(y++... >>

#inCluDE<stDio.h>voiD mAin(){int x=3,y=4;x=(y++...

编译器不同是有点差异的,如果非要一个解释,那我只能说你这个编译器的printf函数输出也是有优先级的,它先执行了x/=2这一步,再执行x+y这一步,最后才把值打印出来。

#include #define SUB(x,y)(x)*y void main() { int a=3,b=4; printf("%d\n",SUB(a++,b++)); } 结果:12 注意:大小写问题,以及声明的习惯 还有就是++(自增)的用法,这里是先执行结果,然后再进行自增,也就是执行完之后a=4,b=5

句末没有分号

就是D啊 if(!x)y++;等价于 if(0)y++; 是个非值 等式不成立 上面的if 和else语句都没有执行 返回初始值 0

【结果】:x=0,y=12第一次:执行前x=30,y=0,满足循环条件;运算结束x=15,y=2;循环结束x=14,y=3第二次:执行前x=14,y=3,满足循环条件;运算结束x=7,y=5;循环结束x=6,y=6第三次:执行前x=6,y=6,虽然x

输出9 8 调用的函数t(int,int ,int, int) 传入的是数值。

先定义了一个结构体数组sa[4] struct num*p=sa+2;使得p指向sa[2]的地址(因为sa作为右值和指针表现类似) x=p->y/sa[1].x*++p->x;这句先取得p->y,即sa[2].y的值,值为36,然后p->y/sa[1].x,即36/4=9其中++p->x=++(p->x)即为7,最后9*7=63 因为++...

#include void main() { float x=5,y=6; float a; a=x+y; printf("%f\n",a);//%d是输出整型数据,a是float浮点型的,要用f }

如果你确定你写的没有错误的话,那么要注意if里面不是判断语句,不是if (y == 1)而是赋值语句,if (y = 1),那么赋值语句的表达式结果就直接是真,所以 第一个x = 5, 第二个x = 3, 选C

int x=31,y=2,s=0; do { s-=x*y; x+=2; y-=3; } while(x%3==0); 初始值:x=31,y=2,s=0 第一次执行: s-=x*y; //s=0-31*2=-62 x+=2; //x=x+2=31+2=33; y-=3; //y=y-3=2-3=-1; 判断while条件x%3==0,因为x=33,33除3余数为0,所以x%3==0,满足条件继...

网站首页 | 网站地图
All rights reserved Powered by www.fptl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com