一个c语言问题,给出答案并解释

有以下程序段:
int k=0
while(k=1)
k++;
则while循环执行的次数是【 】。
A.无限次 B. 有语法错,不能执行
C.一次也不执行 D. 执行1次

A.无限次
因为k=1 是个赋值语句,它的值为1,所以while(k=1)一直成立.结果就是死循环了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-20
死循环。。。
int k=0 //这个地方没打;号,是不是说可以选择B呢!!!
while(k=1)
k++;
第2个回答  2010-08-20
答案是A,因为第一行while循环的时候K=1是赋值表达式,返回值永远都是1,所以会无限循环
第3个回答  2010-08-20
如果你的意思是 while(K==1)

那么答案选 C

只有当K=1的时候,循环才会开始
但是你定义的K=0,无法将K变为1
所以循环一次也不会执行

否则答案选A 无限循环
第4个回答  2010-08-20
无限次循环。因为
k =1 是赋值。
第5个回答  2010-08-20
A. k=1是赋值语句,在可以赋值的情况下永远为真。应该是k == 1
编译器没警告?
相似回答