C语言运算符优先级示例:深入解析表达式结果
C语言运算符优先级示例:深入解析表达式结果
以下程序演示了C语言中不同运算符的优先级和结合性:
#include<stdio.h>
void main()
{
int a=1,b=2,c=3;
printf('%d,%d,%d,%d\n',a=b=c,a=b==c,a==(b=c),a==(b==c));
}
输出结果为:3,0,1,0
解释如下:
- a=b=c,先执行
b=c,将b和c的值都赋给a,所以a的值为3。 - a=b==c,先执行
b==c,因为b=2,c=3,所以b==c的值为0,再将0赋给a,所以a的值为0。 - a==(b=c),先执行
b=c,将c的值赋给b,再将b的值赋给a,所以a的值为3。 - a==(b==c),先执行
b==c,因为b=2,c=3,所以b==c的值为0,再执行a==0,所以a的值为0。
通过这个例子,我们可以更清晰地理解C语言中不同运算符的优先级和结合性,从而更准确地理解和编写代码。
原文地址: https://www.cveoy.top/t/topic/oHH5 著作权归作者所有。请勿转载和采集!