hsfl.net
当前位置:首页 >> C语言 结果是什么 为什么 mAin() {int x=10,y=10,i... >>

C语言 结果是什么 为什么 mAin() {int x=10,y=10,i...

输出为:10 10 9 1 main() { int x=10,y=10,i; 第1轮 | 第2轮 | 第三轮 for(i=0;x>8;y=++i) x==10 y==10 | x==9 y==1 | 8>8不成立, printf("%d %d ",x--,y);输出10,10 然后x==9 | 输出9 1然后x==8| 所以循环终止 }

x+=++x; 等价于:++x; x+=x; 取用x前先自增,x变为11,再执行x=x+x。于是11+11=22 y+=y++; 等价于:y+=y; y++; 这是先运算后y再自增。y=10+10=20,然后再增1,变为21。

main () { int x=102,//十进制102y=012;//0开头表示八进制,化为十进制为8^1*1+2*8^0=10printf ("%2d,%d/n",x,y);//由于整数位大于要输出的位数所以输出本数102, }

(一) 已知 x 的值为 2, y 的值为0 则 y=++x; 的意思是 先x=x+1; (此后x的值为3,y的值为0,) 后 y=x; (此后x的值为3,y的值为3) (二) 已知 x 的值为 2, y 的值为0 则 y=x++; 的意思是 先 y=x; (此后x的值为2,y的值为2) 后 x=x+1; (...

这种题不做也罢。 勉强分析一下: y=(x++)+(--x); 等号右边的先运算,即 先运算 (x++)+(--x); 从左向右顺序运算 x++ 意思是先用x 再x=x+1 ,注意这里是用x而不是用 10这个值 ,因此,到此时,x值还是10 --x意思是先操作 x=x-1,再用x , 此时,x=...

首先小错误intx=10;int类型和变量名不能连起来写。其次printf("%d,%d",x--,y);别忘了双引号 得到的答案为: 10,109,1

ok2是0,所以,这个if不成立,这个if没有else所以不执行a=10,跳出if,就会执行到a=-1,然后,a就等于-1 话说回来,及时上面对a赋值了,最后又给a赋值-1就覆盖 了之前的值,a依然等于-1

-1 while (y--); 当y 等于0 时,执行 y--的返回值是0结束循环,因为后缀--是先取值再自减,在下条语句 printf中,y的值是-1

答案是0,y=0时退出循环,因为是y--,所以先输出再减。

main() { int x=2; while(x--); printf("%d\n",x);} 程序应该是这样的吧。 while是一个空循环,没有循环体,只有判断条件,while循环结束的条件就是x=0; x--是先使用x的值,再改变x的值,在判断时也是这样。也就是说 while(0--);时,循环结束了...

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