Skip to content

Latest commit

 

History

History
28 lines (22 loc) · 1.41 KB

2018-09-20.md

File metadata and controls

28 lines (22 loc) · 1.41 KB

1.Algorithm

2.Review

3.Tips

这次的tip是关于C语言中的逗号运算符。 在C语言中,逗号有两种作用,一种是做分隔符,用来在声明或参数列表中起分隔作用。另一种是做运算符。下面来详细说下逗号运算符的用法。 在含有逗号运算符的表达式中,逗号运算符前面的表达式,会被当成一个空值表达式,即运算完之后忽略结果。逗号运算符后面的表达式,运算完后,其结果和类型作为整个表达式的结果和类型。 举个例子: int a=2, b=5; int i = (a += 1, a + b); 最后i的值是8.

这里有两点说明:

    1. 逗号运算符的优先级在所有运算符中最低,比赋值运算符都低。所以使用过程中一定要用括号。否则会造成语法错误。
    1. 逗号运算符的运算顺序是由左至右。左边表达式可以影响右边表达式的结果,比如上面的例子。

常用的场景:

    1. 常见的for循环中,对两个变量初始化,或同时对两个变量实现自加,都属于逗号运算符的应用。 如for (first = s, s += len; s > first; --s)
    1. 需要在单个表达式中进行多步计算的宏。
    1. 可用于if, while, do while, or for等条件中 如if (y = f(x), y > x){ ... }

以上示例参考维基百科