一、逗号表达式的运算法则
从左向右依次计算,逗号表达式结果为最后一个表达式的结果
代码如下:
int main() { int a = 1; int b = 2; int c = 3; int d = 4; int e = (a = b + c, b = c + d, c = d); printf("%d %d %d %d %d", a, b, c, d, e);//5 7 4 4 4 return 0; }
二、逗号表达式的非常规用法
举例:将while循环中的判断语句和执行语句合并为的逗号表达式
//原始代码 int main() { int i = 0; int a = 0; while (i < 5) { a = a + 1; i++; } printf("%d", a); return 0; } //改用逗号表达式 int main() { int i = 0; int a = 0; while (a = a + 1, i++, i < 5) { } printf("%d", a); return 0; }
两个代码运行结果相同,都是5