目录
1.应用1:作为分隔符使用
#include <stdio.h>
int main() {
int a = 1, b = 2, c = 3;//逗号用于分隔变量
a++;
++b;
--c;
//如果直接输出 a=2,b=3,c=2 这里因为自增自减均为独立语句,
// 没有其他运算符和赋值符号的参与,
// 所以前缀和后缀自增,前缀自减和后缀自减效果一样
// 下面我们可以验证一下
printf("a = %d b = %d c = %d\n", a, b, c);
return 0;
}
当然
a++;
++b;
--c;
写成
a++,++b,--c;
效果一样
补充一个坑点
#include <stdio.h>
int main() {
int a = 1, b = 2, c = 3;//逗号用于分隔变量
printf("%d\n", (a++, ++b, --c));//这样就只会输出最后一个--c的值,也就是2
return 0;
}
2.应用2,便于记忆变量值的互换
#include <stdio.h>
int main() {
int a = 1, b = 2, r;
r = a;//把a的值1转移给r 现在r=1 a=1
a = b;//把b的值2转移给a 现在a=2 b=2
b = r;//把r的值1转移给b 现在b=1 r=1
printf("a = %d b = %d r = %d\n", a, b, r);
return 0;
}
但是这样下次在使用这种方法进行变量转换时,容易想不起来
因此可以利用逗号运算符,写成下面这样
#include <stdio.h>
int main() {
int a = 1, b = 2, r;
r = a, a = b, b = r; //非常的对称,容易记住
printf("a = %d b = %d r = %d\n", a, b, r);return 0;
}