qzgx.net
当前位置:首页 >> #inCluDE <stDio.h> voiD mAin () { int x=0,y=... >>

#inCluDE <stDio.h> voiD mAin () { int x=0,y=...

解释:if(x=y+z)成立就执行输出*** .否则就输出### 至于x=y+z是赋值表达式来,赋值表达式的左边值是可以改变的.此处是把y+z值赋给x,即把0赋给x.所以此处的判断值是0,因此判断条件不成立.所以就执行printf ("###");

结果是0,1,x++表示先用后加,++x表是先加后用,所以0&&1就为0了,x自增一次就为1了,所以结果为0,1,不懂再问我

1、初始x==0,y==0,满足条件,进入循环,其中x+=++y等效于 x = x+ ++y;2、先将y+1,即x = x+ ++y为x = 0 + 1 ,结果x==1,y==13、即x = 1 + 2,结果x==3,y==24、即x = 3 + 3,结果x==6,y==35、x = 6 + 4,结果x==10,y==4,此时不满足x 评论0 0 0

||运算符的短路求值,++x的值是0,条件已经为假,不再进行后续计算,输出1 0 0

Y为0,X也是0,++Y第一次为1,X也是1,++Y第二次为2,X为3,++Y第三次为3,X为6,++Y第四次为4,X为10 ,结束

1 0 0说明:|| 和 && 的表达式中,满足条件之后,就不在检测后面的条件. || 是检测到有TRUE, &&是检测到有FALSE.&&的优先于 || 所以整个表达式相当于 ++x || (++y && ++z)这里++x是1了,1即为TRUE..后面的就都不执行了.所以1 0, 0PS:你连问题都不问.我这算抢答?

z,最后是-1,当z>0不成立时,循环终止,但是z还要再减去1.这个循环里,z--是先将z与0作比较,再进行自减运算的.

x=023; 是指的8进制,其值为2*8+3=19 输出时,先减1,再输出,所以是输出18.

#include<stdio.h> void main() { int x = 0; int *p = &x; printf("%d\n:",*p);//这里少了一个"号,加上就好了!

#includeint main(){int n,i=1,j=1,sum=0; /*i为循环变量,j为n!, sum为总和 */ printf("请输入n的值:\n"); scanf("%d",&n); while(i 评论0 0 0

相关文档
ymjm.net | 5689.net | ydzf.net | ldyk.net | rprt.net | 网站首页 | 网站地图
All rights reserved Powered by www.qzgx.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com