求助:C语言程序的一个问题!

来源:百度知道 编辑:UC知道 时间:2024/06/05 07:53:23
12. 设有程序段“int k=10; while(k=0) k=k-1;”,下面描述中正确的是:
A. 循环执行一次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 循环体语句执行一次

答案是C!不理解,不是执行了一次的吗
12. 设有程序段“int k=0; while(k=0) k=k-1;”,下面描述中正确的是:
A. 循环执行一次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 循环体语句执行一次

不好意思上面写错了,应该是k=0,这样看呢?

int k=10; while(k=0) k=k-1;
虽然开始对k初始化了,但是while(k=0)又对k赋值0而不是表示k==0;

这一点要注意!
k=0表示赋值,k==0表示判断

所谓循环体是指 循环语句k=k-1
while(k=0)判断了1次,相当于做了2个操作 k=0 while(0)
也就是while()中条件为0,即不成立,所以不执行k=k-1
如果while(k=1)就是无限循环了
同理!
while(k=0) => k=0,while(0)