之前有个同学问了我一个代码,
#include <stdio.h>
int main() {
int a = 3;
int b = 6;
printf("%d\n", (a,b));
return 0;
}
这个代码的运行结果如下:
可以看到,输出的结果是6,也就是b的值,所以是为什么呢,只有一个%d但是却先输出了右边的值,我们去掉括号做一个对比。
#include <stdio.h>
int main() {
int a = 3;
int b = 6;
printf("%d\n", a,b);
return 0;
}
可以看到输出的是3,也就是a的值。
这就是C语言中一个有趣的运算符,逗号表达式,注意是 运算符。
它的优先级最低,将两个及以上的式子连结起来,并从左向右依次运算,整个逗号表达式的值为最右边的表达式的值,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值。
所以,这个代码还可以这么写:
#include <stdio.h>
int main() {
int a = 3;
int b = 6;
int c = (a,b);
printf("%d\n", c);
return 0;
}
是不是很神奇,还可以这样对C赋值。
结果为6。
以上就是C语言一个简单但容易被忽视的小运算符,逗号。