mshd.net
当前位置:首页 >> 设有如下程序段 int x=0 >>

设有如下程序段 int x=0

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

C语言中True 用非0的数表示,False 用0表示 while(x=0) 先把0赋值给x,然后x作为逻辑值,可知 x=0 等价于while(Fasle) 所以不执行循环体

b=1是赋值表达式,返回左值的引用,所以这个表达式的值恒为1,while(1)自然是死循环。

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

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

选c;m=20对于循环表达式(m=0)来看是假的,跳出此循环进入下一条循环语句。

因为赋值了埃x被赋值成0,然后x=0的值就是x也就是0,也就是假,然后就结束循环了。

{printf("%3d",x-=2);} 这个就是x=x-2,也就是说x变成1了再输出,输出1 --x就是x=x-1的简便写法,这时候x变成0,!0就是1,所以继续做do这个循环 第二次x再减去2变成-2,所以输出-2 --x再减去1变成-3,!-3为0所以循环做到这就停止了 最后输出 1 -2

最后p=0 因为while里面的是一个语句(statement)所以此时p=0为假,不会进while语句里,所以最后p=0

答案为1 分析:x-=2也就是x=x-2的意思,x初始值为3,减速2输出1,循环一次后x变为-1,不满足条件,没有其他输出,退出循环

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