C循环次数问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 16:54:19
int k=5,
while(k=10)k++;
求循环次数,为什么是无限次啊,能讲清楚点吗?

k=10;是把10赋给k;

要写成k==10;就over了

是不是想说k=10时停止循环啊。是就写成k!=10;当k=10时判定为假跳出;

试试吧

请楼主注意这里k=10而不是k==10
如果是k=10的话。那么这是一个判断句。显然马上不符合就跳出循环。

可是这是一句赋值句令k=10.
补充一点。所有非负整数逻辑上都是1,也就是真。
所以while(k=10)是真的。
然后k加1.
再次循环

k再次赋值等于10.
然后咖再1.
一直这样无限循环下去。
区别=和==。一个赋值一个是条件里的等于

表达式k=10在逻辑判断的时候恒为真,所以是无限循环。
但是k==10的话,当k不等于10的时候,循环跳出

你是将k赋值用的是“=” 若是想用 判断得用“==”当运行到 while时 每次k都加1 但又重新将k的值 赋值为10 所以就是无限次了

k=10 结果永远是10