逗号操作符

逗号操作符,是双目运算符,并且是从左向右,在运算符的优先级是很低的,是最后一级。所以

int i = 2,j = 5;

int k = i++,j+1,j++,++i;// k的值为2,i++

int l = (i++,j+1,j++,++i);// l的值为4,++i

 

 

为什么会有这个结果呢?

因为 = 赋值运算符的优先级大于,逗号运算符,所以第一个表达式的结果是i++

而第二个表达式因为有括号,于是是把整个逗号表达式计算完整之后在进行赋值操作,都逗号表达式的返回值是最后一个表达式的值。而在前面 i++ 执行之后,i 的值就为 3 ,在进行 ++i 是返回的值是 4

posted @ 2017-11-01 21:38  学习丶笔记  Views(426)  Comments(0Edit  收藏  举报