我在 Mac 上使用 ANSI C 编写的命令行实用程序具有为单链表创建冒泡排序数组的功能。我声明了循环变量。
int a = 0;
int b = 0;
我以缩写形式编写了循环的冒泡排序(即,将变量初始化留空)。
for ( ; a < size; a++)
for( ; b < size; b++)
这只在退出前执行了一次。之前使用 i 变量填充数组的 for 循环以相同的方式编写并按预期执行。冒泡排序循环的修复方法是将 a = 0 和 b = 0 放回原处。缩写的 for 循环无法执行是否有原因?
最佳答案
如果您省略 b=0
,则内部循环将恰好运行一次,因为在那之后 b 已经等于 size。您需要在内循环的每次迭代中将 b 重置为 0。
关于C - 缩写为只执行一次的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2269714/