问为什么这个循环总是只执行一次?
for(i = start; i < end; i++); { printf("%d\n", i); }
答在包含对于的行的末尾意外多出了一个分号,它构成了一个空语句,在编译器看来,这就是循环体。接下来的由花括号括起来的块,你以为(并且缩进也表明)是循环体,实际上是下一个语句,并且无论循环迭代多少次,它都只执行一次。
另请参阅问题 2.18。
参考资料:CT&P 第 2.3 节,第 20-21 页
由 托管