C循环的条件

CSJ*_*CSJ 2 c loops

今天我做了一个拼写错误,然后发现下面的代码可以编译成功:

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

我不明白为什么

1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

可以视为一个条件?

nd.*_*nd. 5

你的for情况就是表达1,2,3,4,5.使用C的逗号运算符和yield 来计算此表达式5.该值5是一个有效的布尔表达式,它是true,因此导致无限循环.