【发布时间】:2020-12-04 00:03:30
【问题描述】:
考虑一下这个sn-p:
int numbers[9] = {5, 2, 78, 23, 8, 9, 3, 12, 97};
int arrLength = (sizeof(numbers) / sizeof(int));
for(int i = 0; arrLength; i++) {
printf("%d\n", numbers[i]);
}
我给了一个数组长度作为循环的第二个参数,但没有给它何时停止的条件。 out 给出了我数组中的 9 个数字,然后继续。这是程序输出的示例。程序以这种方式轻松输出超过 100 位数字。谁能解释一下是什么在起作用?
【问题讨论】:
-
您提供了一个条件;您刚刚使用了
arrLength != 0的简写。省略条件看起来像:for (int i = 0; ; i++)。那是一个无限循环;缺少的条件被视为始终为真。