我学习C语言编程,目前约operators.I'm从sometimes.please问题有点困惑有一个在图像c的输出是怎样的53?
的程序是:
#include<stdio.h>
int main()
{
int a=9,b=5,c;
c=a*b++ + --a;
printf("%d",c);
return 0;
}
我想输出应该是但它显示。因为 - 具有更高的优先级,所以它应该首先被评估,然后在增量之后进行评估,这样在语句终止之后b的值将被改变。我如果我错了)。
请帮助。提前预约。
优先确实在C.不等于评估顺序例如,编译器可能决定首先增加'a',然后评估'a'的两个实例。 – fuz
我没有得到你所说的请详细说明。 –
你从推断评估顺序的推理是错误的。优先级仅告诉编译器在何处放置圆括号,它并不告诉编译器以何种顺序来评估事物。 – fuz