逗号表达式的一般形式可以扩展为
表达式1,表达式2,表达式3……表达式n
它的值为表达式n的值。
我认为你的方法定义会让第一个变量int i =2失效.
例子int c = ( 3+5, 6+8);
printf("%d\n",c);
写在main函数里输出结果为14,编译的时候会有警告
lanwendongdeMacBook-Pro:ios基础 lanwendong$ cc -c 01-利用指针交换两个变量的值.c 01-利用指针交换两个变量的值.c:33:15: warning: expression result
unused [-Wunused-value]
int c = (3+5,6+8);
~^~
1 warning generated.
请注意并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如
printf("%d,%d,%d",a,b,c);
上一行中的“a,b,c”并不是一个逗号表达式,它是printf函数的3个参数,参数间用逗号间隔。
如果写成 printf("%d,%d,%d",(a,b,c),b,c);则表示(a,b,c)是一个整体,值为c
希望对你有所帮助
|