小编Pra*_*eek的帖子

C'for'循环中的多个条件

我遇到了这段代码.我通常使用'&&'或'||' 在for循环中分隔多个条件,但此代码使用逗号来执行此操作.

令人惊讶的是,如果我改变条件的顺序,输出会有所不同.

#include<stdio.h>

int main() {
    int i, j=2;

    for(i=0; j>=0,i<=5; i++)
    {
         printf("%d ", i+j);
         j--;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出= 2 2 2 2 2 2

#include<stdio.h>

int main(){
    int i, j=2;

    for(i=0; i<=5,j>=0; i++)
    {
         printf("%d ", i+j);
         j--;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出= 2 2 2

有人能解释一下原因吗?它似乎只检查最后一个以逗号分隔的条件.

c for-loop

28
推荐指数
3
解决办法
10万
查看次数

标签 统计

c ×1

for-loop ×1