int a,b;
b=( a=1,a+1,a++);
printf("%d,%d\n",a,b);
运算结果为2,1
此处对b括号内先执行赋值运算,得a=1。再执行逗号运算,整个表达式的值为括号内最后一项a++,即为a,即1;
此处对a先执行赋值运算,得a=1,再执行a+1,得a=2。由于a++是先运算后自增,所以a=2。
逗号运算符在所有运算符中优先级最低。
2020-11-03
最新推荐文章于 2020-11-06 22:35:20 发布
int a,b;
b=( a=1,a+1,a++);
printf("%d,%d\n",a,b);
运算结果为2,1
此处对b括号内先执行赋值运算,得a=1。再执行逗号运算,整个表达式的值为括号内最后一项a++,即为a,即1;
此处对a先执行赋值运算,得a=1,再执行a+1,得a=2。由于a++是先运算后自增,所以a=2。
逗号运算符在所有运算符中优先级最低。