C语言逗号运算符

C语言逗号运算符:
int a = 10,b = 20,c = 0;
设置a变量等于10,b变量等于20,c变量等于0

逗号运算符写法:c = (a++,b+=10,a+=b);
注意:一定要用括号将内容包起来
括号内的表达式会从左往右执行,最后c的值会等于最后一个表达式,也就是a+=b
那么c最后会等于什么呢?有的人以为a+=b不就是a=a+b,最后不就是30吗,最后返回的值却是41,别忘了前面还有两个表达式,分别是a++和a+=b,执行完前面两个表达式后,a将会等于11,b会等于30,那么最后a+b就是11+30=41

当整个都好运算符执行完成后,最后a=41,b=30,c=41
为什么a也会等于41呢?因为最后一个表达式a+=b就是a=a+b也会执行,那么a还是会等于a+b也就是41。


写好的代码参考:

#include <stdlib.h>
int main()
{
int a = 10,b = 20,c;
c = (a++,b+=10,a+=b);
printf("%d,%d,%d",a,b,c);
return(0);
}