![]() |
1
12
开始阅读第一组括号内的内容。 逗号运算符随后对几个表达式中的每个表达式进行计算。它返回最后一个表达式的返回值——在本例中,它是32,因为赋值的返回值是赋值的值。 |
![]() |
2
4
这个 comma operator 是左关联的。
它评估
|
![]() |
3
4
看到图案了吗?
基本上,
一般来说,
|
![]() |
4
2
换句话说,括号中的任何内容都是先从左到右进行计算的;并且 返回最右边的表达式 作为括号的输出结果int,我得到十进制值32。 |
![]() |
5
0
不是真正的“答案”,但应该注意的是,逗号运算符的主要用途是在多个语句无效的上下文中,按顺序计算具有副作用的表达式,如函数调用、赋值等。最基本的用途是在宏中,您希望整个宏“返回值”,但执行多个操作。实现这一点的唯一其他方法是使用GCC
我发现逗号运算符的另一个常见用法是
当我有一个
在后一种用法中,逗号运算符的结果值并不是特别有用,因此它并不重要,可能会让C初学者感到困惑。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 4 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 4 月前 |