C - 缩写为只执行一次的循环

标签 c for-loop

我在 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/

相关文章:

c - 如何解决打开文件堆错误

java - 通过比较两个参数打印连续的数字

linux - For i in 循环并出现 printf 错误

c - 从命令行参数分配数组

c - 在 C 中获取二维数组的输入

Javascript For 循环问题

javascript - 我的 for 循环中的这些小数来自哪里?

python - 循环一维字典

c - 将 unsigned char 解析为 int 指针后出现段错误

c: scanf 读取整数