C语言的小括号----其实是逗号运算符

比如下面的代码:

 1 #include <stdio.h>
 2 
 3 void fun() {
 4     int a, b, c, d;
 5     a = (2, b = 4);
 6     c = (4, 6);
 7     d = (4, 2);
 8 
 9     printf("%d  %d  %d   %d
", a, b, c, d);
10 } 
11 int main(int argc, char const *argv[])
12 {
13     fun();
14     
15     return 0;
16 }

输出的结果是:4  4  6   2

可能有些人会以为是小括号运算符的什么作用,其实这个是逗号运算符的作用。因为逗号取最后一个,所以结果会是后面的。比如 a = (1, (2, 3));那么取值是3,小括号是取优先级的作用。

原文地址:https://www.cnblogs.com/xiezhw3/p/3479219.html