一个C语言判断循环语句是不是无限循环

以下各语句中不是无限循环的是
A) for(K=-1;-10<k<0;k--) B) for(i=1,j=10;i-j;i++,j--)
C) for(k=1;k=10;k++) D) for(k=1;k>0;K++)
麻烦详细解释哈啊??

A) for(K=-1;-10<k<0;k--)
这里有个错误,K=-1应该是小写k
不是无限循环,k<-10后-10<k<0不成立,退出

B) for(i=1,j=10;i-j;i++,j--)
是无限循环,i-j=0时i-j为假才能退出,当i=5时,j=6,而下一循环i=6,j=5,i-j永不为0

C) for(k=1;k=10;k++)
是无限循环,k=10是赋值表达式,永为真

D) for(k=1;k>0;K++)
是无限循环,k从1开始递增,所以k>0永为真
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-28
A 根本不能编译 , k>-10 && k < 0 中间条件应该这样,不是
B 不是
C 是,因为 k=10 是赋值不是比较
D 如果k是unsigned 类型就无限循环,如果是int类型就不是无限的。
第2个回答  2010-10-28
A) for(K=-1;-10<k<0;k--) 只有10次循环
B) for(i=1,j=10;i-j;i++,j--) 只有5次

C) for(k=1;k=10;k++) 无限次,k=10是一个赋值语句,故永远是真。
D) for(k=1;k>0;K++) 无法通过,K++,大写,如果是小写的,无限次
第3个回答  2010-10-28
A
相似回答