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

解释如下:

  1. a=b=c,先执行b=c,将bc的值都赋给a,所以a的值为3。
  2. a=b==c,先执行b==c,因为b=2c=3,所以b==c的值为0,再将0赋给a,所以a的值为0。
  3. a==(b=c),先执行b=c,将c的值赋给b,再将b的值赋给a,所以a的值为3。
  4. a==(b==c),先执行b==c,因为b=2c=3,所以b==c的值为0,再执行a==0,所以a的值为0。

通过这个例子,我们可以更清晰地理解C语言中不同运算符的优先级和结合性,从而更准确地理解和编写代码。


原文地址: https://www.cveoy.top/t/topic/oHH5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录