1
88
这对你发布的代码没有影响。一般来说,逗号就像分号一样分隔表达式,但是,如果将整个表达式作为表达式,则逗号运算符意味着表达式的计算结果是最后一个参数。 下面是一个例子:
将评估3,然后5,并将后者分配给b。
将评估
当迭代器代码不是简单的代码时,逗号运算符对于循环特别有用。
|
2
22
逗号是一个返回值的运算符,该值始终是第二个(右)参数,而分号只结束语句。它允许逗号运算符在其他语句中使用,或将多个语句连接为一个语句。
这里调用函数f(x),然后
一个例子,当它只是用来避免需要块
|
3
7
逗号运算符从左到右计算所有操作数,结果是最后一个操作数的值。 如果要在“增量”部分执行多个操作,例如(反转字符串),则在for循环中最有用。
另一个示例,其中它可能是一个选项(查找字符串中的所有匹配项):
尤其是逻辑上
和
不能用于此条件,因为零和非零都表示在字符串中找到了字符。另一方面,用逗号,
当然,还有其他方法来编写循环:
或者只是
|
4
4
一种用法是在代码高尔夫中使用:
第一行比较短,但在常规开发中使用起来太混乱了。 |
5
3
作为 Frank mentioned ,在示例中如何使用逗号运算符不会导致错误。逗号运算符可能会混淆,原因如下:
由于逗号运算符容易混淆,而且常常是不必要的,因此应避免使用逗号运算符,但某些非常特殊的情况除外:
逗号操作符在定义上几乎是一个黑客操作符——它是在只允许一个的情况下,对两个对象进行黑客操作。它几乎总是难看的,但有时你只有这些。这是唯一一次你应该使用它-如果你有其他的选择,不要使用逗号操作符。 从我的头顶上看,我想不出使用该运算符的其他原因,因为在大多数其他情况下,您可以通过在单独的语句中评估表达式来获得类似的效果(尽管我确信有人会对我忽略的另一种用法发表评论)。 |
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |