mshd.net
当前位置:首页 >> 设有以下程序段int >>

设有以下程序段int

int x=3 do { printf(“%d”,x-=2); }while ( !(--x) ); //等价于while( --x == 0 ); --x为0时,劝非”结果才是真,否则为假,结束循环 x=3 printf() x-=2=1 , while( !(--x) ) --x得到0,循环条件成立 x=0 printf() x-=2=-2 while( !(--x) ) --x得...

while(!x!=0) 等价于 while ( (!x) != 0), 则 s初始化值为0,故有 !x = 1,接着 1 != 0 ,显然,结果为真 执行while后面的循环语句 s+=++x;(注意,++是前缀的),即 s = s+(++x)[ s= 0+ 1=1] ,完成后x=1,再次进入循环判断, 根据上面的分析...

&&优先级高于||,所以可以这样写: a=++x||(++y&&z++); a=3||(3&&0); a=3||0; a=1; z++遇;号才自加,++x和++y先进行自加。 x=3,y=3,z=1;

当循环执行x=3时 判断条件(x%2)为真,执行(“**%d”) 输出结果为 **3 而语句中并没有\n 即就是 不换行 然后循环执行x=4时 判断后执行(“##%d\n”) 输出结果为 ##4(并加换行) 所以结果是 **3##4 **5 而不是 **3 ##4 **5 就是这样啦~ 不知道 ...

k=1是赋值语句不是判断语句。 --x先减后使用结果,x==1时,!(--x)相当于 !0 为1,x==-2时 !(--x) 相当于 !(-3)为0.

你好,软件工程学生为你解答。 应该选C。 对于 int k=10;while(k==0) k--;while当满足条件时才进行循环,而k现在为10,条件是k为0, 不满足条件,所以不会进入循环,循环体内的语句不会执行。 程序段结束以后,k的值为10;

c3中的值是 0

答案是A

选项D 原因:'d'转换到int类型的话就是100, 'a'转换成int就是97,所以x['d'-c] == x[100-97],结果就是x[3],x[3]的值就是4

[a=3,b=5,c=7] if ( a>b ) a=b; //条件不满足不执行a=b; c=a;[a=3,b=5,c=3] if ( c!=a ) c=b; //条件不满足不指向c=b; [a=3,b=5,c=3] 原因是if(a>b) a=b;c=a;中c=a;不属于条件执行,如果想要这样要写成if(a>b) { a=b;c=a; }

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