C问题 高手指教下 谢谢了

来源:百度知道 编辑:UC知道 时间:2024/05/17 02:12:05
设有程序段
int k=10;
while(k=0) k=k-1;
则下面描述中正确的是---
A)while循环执行10次
B)循环是无限循环
C)循环体语句一次也不执行
D)循环体语句执行一次
答案怎么是一次都不执行呢 起码有个k=0-1这个过程嘛

k=0,不是k==0

k=0先给k赋值0,这个表达式返回0,相当于while(0),循环当然不执行。

之所以一次都不执行,因为在whilea()语句中,你用的是赋值表达式=,而不是判断表达式==。k=0,是把0赋值给k,使k=0,在判断中,0代表假,所以就一次都不执行了。应该写成while(k==0),==是判断表达式,判断k是不是和0相等

while(k=0)首先计算赋值语句k=0, 得到结果while(0),即while(False);条件为假后面的语句就不会执行。

即使while(k==0)也还是一次也不执行
while()
是根据()里的值来进行判断是否进入循环!
1、while(k=0)情况 前面的人已经说过了
2、while(k==0),因为前面定义int k=10;所以这是k=10;而(k==0)不满足条件,所以不执行循环

选C