main ()
{
char i = 0;
for (i <= 5 && i >= -1; ++i; i > 0)
printf ("%d", i);
getch ();
}
Run Code Online (Sandbox Code Playgroud)
我是一名Java学生,最近我开始做C程序.我在C书中看到了这个问题.我对这个程序有以下疑问:
1,2,3,4.....126,127,-128....-2,-1.为什么输出停在-1?这应该是一个无限的系列,永远重复上述系列.For循环由三个表达式组成,因此这个例子编译得很好.第一个是i <= 5 && i >= -1.它什么都不做.第二个是循环停止的条件.在您的情况下++i意味着当i达到值0 时循环停止.第三部分i>0什么都不做.所以你的周期:
for (i <= 5 && i >= -1; ++i; i > 0)
printf ("%d", i);
Run Code Online (Sandbox Code Playgroud)
相当于:
i <= 5 && i >= -1;
while (++i) {
printf ("%d", i);
i>0;
}
Run Code Online (Sandbox Code Playgroud)
这相当于:
while (++i) {
printf ("%d", i);
}
Run Code Online (Sandbox Code Playgroud)