编程语言 / 运算符 · 2023年 10月 14日 0

逗号运算符

174 次浏览

逗号运算符为了减少多条语句多行的困扰,放在一行,最右侧的表达式值作为结果返回,在某些情况下简洁直观,又称"顺序求值运算符"。

不同的逗号运算符

  • 支持逗号表达式的编程语言:C/ObjC/C++/JavaScript.
  • 有限支持的语言: Java 只在for循环有限支持,可用于多个变量初始化、step改变。
  • 更高级的支持:Ruby/Go同时初始化2个变量:a, b = 1, 2

逗号表达式

  • C语言中如下代码结果不同:
    • a = b, c; // a == b
    • a = (b, c); // a == c
  • C语言不允许逗号表达式作为左值,C++允许。
    • int a; (1, a) = 2; // C语言中编译错误
  • C语言return语句也可以用逗号表达式:
    此语句最终是返回1: return 0, 1;

for循环的逗号表达式

  • C语言for循环语句分号分隔的是3个表达式,如果用逗号表达式,会有不一样的效果:
    例如:for (int i = 0; i < 2, 0; i++) 循环条件永远不成功。