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语言》

更多相关文章

  1. C语言中switch语句的case后能否是一个关系表达式
  2. for循环是先执行循环体语句,后判断表达式吗?
  3. 判断char型变量ch是否为大写字母的正确表达式是什么
  4. Go语言使用正则表达式提取网页文本
  5. 在Go中使用正则表达式
  6. 使用正则表达式进行xml数据验证的代码实例详解
  7. 可以用在 VS Code 中的正则表达式小技巧[每日前端夜话0x68]
  8. 正则表达式中零宽断言的用法
  9. 使用requests+正则表达式爬取猫眼电影排行

随机推荐

  1. 常见的面试题
  2. 是什么导致Meteor中的“模板未定义”?
  3. adobeindesign JavaScript XML:如何以编
  4. 从文本框值生成条形码图像
  5. 谷歌地图在角度指令中不起作用
  6. js金额数字格式化实现代码(三位加逗号处
  7. 另一个iframe中的iframe的onload函数
  8. JavaScript 中的函数介绍
  9. JavaScript实现数学里的排列组合的A和C运
  10. 在Express中提供静态HTML文件的不同路径