【发布时间】:2012-11-21 21:53:41
【问题描述】:
int i;
while(i=10)
{
printf("%d\n",i);
i=i+1;
}
有一个程序,其中 while(i=10) 表示 while(1)[通常] 表示 while 循环为真。所以它应该只打印一次 10 并将 i 的值增加 1 即 i 变为 11。但输出是无限打印'10'重复。为什么会这样? 我的平台是:64 位 Windows 7 和 32 位 Dev C++ 编译器。
【问题讨论】:
-
while (i=10)是一个作业。i < 10并初始化i. -
在下一次迭代中,i的值再次变为10,循环条件变为真,因此无限继续。
-
一位名叫 Lee 的聪明年轻程序员 / 想在
i3 岁时循环 / 但在写=时 / 他忘记了续集 / 因此无限循环
标签: c++ c loops while-loop infinite-loop