首先声明,不是所有的逗号都是逗号运算符。
逗号运算符连接了两个表达式,并且保证了左边的式子先求职
在循环语句中的逗号运算符
for(int i=0, j=0; i*j < 100; i++, j+=2)
这样的一个语句中,需要两个变量同时做出改变并参与判断条件,可以使用这样的运算符隔开。
在赋值语句中的逗号运算符
int x=10,5;
对x来说,相当于如下的语句:
int x=10;
5;//这个也是一个语句,不过没有任何作用就是了。
而如果是
int x = (10,5);
此时是先处理左边,然后再将右边的值赋给x。
所以我们有如下操作:
int y,z;
int x = (y = 3,(z = ++y +2)+5);
先将y赋值为3,然后开始看右边的式子,将y加一带入,将6赋值给z,然后将z+5赋值给x,
所以x为11。