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, }

你的代码是这样的吧: 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+1),是表达式而非变量 第三,++x的返回值是x,是变量。 谢谢采纳。

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=...

首先,--优先等级比>高,而且i--是先用再运行的,当i=0的时候,虽然while语句满足了终止条件,但i会先进行i>0的比较,然后再会进行自减变成-1,最后再进行输出的,所以结果是-1

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

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

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