乱码zzz 发表于 2020-4-23 18:40:28

C语言中分割符的问题

为什么第9行 temp = a, a = a, a = temp;
可以用逗号分隔?这是什么原理

#include <stdio.h>

int main(){
        int i, j, temp;
        int a = {1,2,3,4
        };
        for (i = 0; i < 2; i++){
                for(j = 0; j < i; j++)
                temp = a, a = a, a = temp;
        }
        printf("\nthe result");
        return 0;
}

zltzlt 发表于 2020-4-23 18:45:16

逗号运算符是优先级最低的,它从左往右逐个计算表达式,并返回最右边的值,所以对于 (temp = a, a = a, a = temp) 会逐个计算每个表达式,并且结果是 a = temp
页: [1]
查看完整版本: C语言中分割符的问题