C的for循环中的条件

标签 c loops

今天打错了,然后发现下面的代码可以编译成功:

#include <stdio.h>
int main()
{
    int i;
    for (i=0;1,2,3,4,5;i++)
        printf("%d\n", i);
}

我不明白为什么

1,2,3,4,5

可以当作条件吗?

最佳答案

您的 for 条件是表达式 1,2,3,4,5。此表达式使用 C's comma operator 求值并产生 5。值 5 是一个有效的 bool 表达式,它为真,因此导致无限循环。

关于C的for循环中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25077742/

相关文章:

c - 值同步无法正常工作

loops - Grails-仅在g:each中的前十个值

C - 函数指针的问题

c - 超线程代码示例

c - strcspn 中的 "c"代表什么?

c - lua 函数的警报消息

c - `N.0 == N && (int)N.0 == N` 是否为真,其中 `N` 是 int 范围内的整数文字?

javascript - 用于启动/停止无限循环的按钮,每个函数之间有延迟

PHP日期和时间,获取一个月的第1、2、3、4周

arrays - 优化循环、从外部文件传递参数、在 awk 中命名数组参数