在C语言中执行continue语句会导致程序跳到当前循环迭代的结尾。当处理continue语句时,将for循环翻译成while循环的描述规则需要一些改进。例如,考虑下面的代码:
/* Example of for loop containing a continue statement*/ /* Sum even numbers between 0 and 9*/ long sum = 0; long i; for (i = 0; i < 10; i++) { if (i & 1) continue; }
A. 如果我们简单地直接应用将for循环翻译到while循环的规则,会得到什么呢?产生的代码会有什么错误呢?
B. 如何用goto语句来替代continue语句,保证while循环的行为同for循环的行为完全一样?