c语言逗号运算符用法是什么?
16lz
2021-01-22
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。
推荐教程:《C语言》
更多相关文章
- C语言中switch语句的case后能否是一个关系表达式
- for循环是先执行循环体语句,后判断表达式吗?
- 判断char型变量ch是否为大写字母的正确表达式是什么
- Go语言使用正则表达式提取网页文本
- 在Go中使用正则表达式
- 使用正则表达式进行xml数据验证的代码实例详解
- 可以用在 VS Code 中的正则表达式小技巧[每日前端夜话0x68]
- 正则表达式中零宽断言的用法
- 使用requests+正则表达式爬取猫眼电影排行