c语⾔中逗号是什么字符,c语⾔中什么是逗号运算符并举例逗号运算符是指在C语⾔中,多个表达式可以⽤逗号分开,其中⽤逗号分开的表达式的值分别结算,但整个表达式的值是最后⼀个表达式的值。
逗号运算符是指在C语⾔中,多个表达式可以⽤逗号分开,其中⽤逗号分开的表达式的值分别结算,但整个表达式的值是最后⼀个表达式的值。
例⼦:
int a1,a2,b=2,c=7,d=5;// 第1⾏
a1=(++b,c--,d+3); // 第2⾏
a2=++b,c--,d+3; //第3⾏
对于给a1赋值的代码,有三个表达式,⽤逗号分开,所以最终的值应该是最后⼀个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。
对于给a2赋值的代码,也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符⽐逗号运算符优先级⾼)虽然最终表达式的值虽然也为8,但b=4(第2⾏代码运算完时,b=3,即第3⾏代码运⾏时,b的值为4),所以a2=4。
注意:逗号运算的结合性是从左⾄右,完毕之后整个表达式的值是最后⼀个表达式的值。
例⼦:int a[2],x=2,y=5;
c语言中逗号表达式的用法a[0]=(x+3,y++,x++);那么最终结果是:a[0]=2 x=3 y=6;
为何a[0]=2:因为(x++)是运算之后再⾃加
a[1]=(x++,x+3,x+7);那么最终结果是:a[1]=10 ,x=3
再来⼀个关于结合性的例⼦:
int i=24;
int n = (i++,i++,i++,i++); // n == 27
因为逗号运算符的结合性是⾃左向右,所以四个i++会依次运⾏,但是最后⼀个i++在赋值之后才进⾏运算,所以最终返回27。
推荐教程: 《c语⾔教程》
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论