谁解释一下这个选择题啊

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:19:37
1. 程序段如下,则以下说法中正确的是【 】。
int k=1;
while (!k= =0) { k + + ; printf("%d\n",k); }
B) 循环是无限循环
尤其是while (!k= =0) { k + + ; printf("%d\n",k); }
怎么解释啊,谢谢啦
while (!k= =0)
是不是这个意思啊:判断!k是不是为0 ,如果是0,就进行 { k + + ; printf("%d\n",k); }

先运算!k,然后判断是否为0
只要k!=0,那么!k就是0,否则是1.
所以是无限循环

while(!k==0)因为k=1,即为真,!k为0.即为假,符合条件就执行下面的语句,因为k一直都在递增所以为死循环。

非0实数的!都是零.所以!k一直等于零,则一直进行K=K+1,则无限循环

因为机器中以非零表示真,0表示假…而这个题中k是不继增加的正数…非k永远为零,故是无限死循环…

当k不等于0时,k=k+1,输出k的值