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

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

10 10 9 1,x--是先取x的值再减,--x则相反;for循环括号最后一句 y=++i 是在循环体执行后再自加。

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; (...

你的代码是这样的吧: main(){ int y = 10; do{ y--; }while(--y); printf("%d\n",y--); } y=10 第一次循环: y--,y=9; --y,y=8,true; 第二次循环: y--,y=7; --y,y=6,true; …… 第五次循环: y--,y=1; --y,y=0,0,false; 先输出0...

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。

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

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

x%y 为取余运算 10对3除 余1 x%y = 1 x/y 因为x和y都是整型 所以结果取整 x/y = 3 (x%y ,x/y ) 为逗号表达式 结果取最后一位 a=(1,2,3,4);则 a=4 综上所述 z = 3 所以 屏幕显示3

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

这里就是一个很简单的问题吧,哪儿没看懂? while()//这里只认0,就是说做到y=0就跳出。(这里循环里什么也没干)所以很简单。 到最后跳出y--就是0了啊,所以y=-1。

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