C语言中的逗号运算符符
逗号表达式:是C语言中的逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,①从左往右逐个计算表达式,②整个表达式的值为最后一个表达式的值。
++x是2(x位于++后是加完之后),过程中是2。
x++是1(x位于++前是加完之前),过程中是1。
(表达式1, 表达式2, 表达式3, … , 表达式n)
示例:
#include <stdio.h>
void main(void)
{
int a = 1, b = 2;
/*逗号表达式的结果为
最后一个表达式的结果,
既b + 3 = 5, 所以c的值为5*/
int c = (a + 2, b + 3);
printf("c: %d\r\n", c);
}
//输出:c:5
注意事项:
逗号运算符的优先级是最低的,需要注意与其
他运算符之间的结合
int a = 0, b = 1, c = 2;
a = (++b, c + 3);
/*a的值为5,因为逗号表达式的值为
最后一个表达式的
结果既c + 3 = 5;*/
int a = 0, b = 1, c = 2;
a1 = ++b, c + 3;
/*表达式最终的值为5,但是
此时a的值是2,因为赋值
运算符的优先级比逗号运算符高,
所以先进行赋值运
算;*/