逗号运算符
用于连接几个表达式(表达式1),(表达式2),(表达式3),(表达上4)....(表达式n)
例1:
1 main(){ 2 int i,a,b; 3 4 i=(4*5,a*2,b=2,b++,b+6),(2*7,a*3,b+9); 5 6 printf("变量i的值:%d\n",i); 7 }
运行结果为:9
这里i=(2+++6)或者写出((2++)+6)
例2:
1 main(){ 2 3 int x,y,z; 4 5 x=y=1; 6 7 z=x++,y++,++y; 8 9 printf("%d,%d,%d\n",x,y,z); 10 11 }
运行结果为:2,3,1
y和x的初始值都为一;
z=(x++),y++,++y;
x计算后读取值为2,y计算后读取值为3;
结论:
括号表达式的结果逗号运算符的值为第一个括号内的最后一个值(若该值在前面该括号内的前面被赋值那么最后的值也会发生改变)
(另外只有前部分只有赋值会改变值,其他的计算不会)
若逗号表达式中没有括号,则默认第一个逗号前的内容为第一个括号
原文:https://www.cnblogs.com/higenbana/p/12484222.html