开发者社区> 问答> 正文

C语言中逗号运算符使用时的注意事项有哪些呢?

C语言中逗号运算符使用时的注意事项有哪些呢?

展开
收起
LLLA 2022-03-29 16:23:28 523 0
1 条回答
写回答
取消 提交回答
  • 如果在语句中同时用了逗号运算符和赋值运算符,则需要特别注意,赋值运算符的优先级高于逗号运算符。看下面这两个例子:

    int a1, b = 2, c = 7, d = 5; // 第1行

    a1 = (++b, c--, d+3); // 第2行

    本例,对于第2行,由于用逗号分开的三个表达式被包含在括号内,所以先计算这个括号内的表达式,再进行赋值。括号内的表达式的最终值应该是最后一个表达式的值,也就是 (d+3) 的值,为 8,所以 a1 被赋值为 8。

    int a1, b = 2, c = 7, d = 5; // 第1行

    a1 = ++b, c--, d+3; // 第2行

    本例,对于第2行,由于赋值运算符的优先级高于逗号运算符,所以“a1=++b” 实际是逗号表达式中的一个子表达式,虽然最终表达式的值虽然也为 8,求值之后,“++b” 的值为3,a1被赋值为 3,而整个逗号表达式的值为 8。

    2022-03-29 16:24:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载