const
此代码如何提供相同的输出? 这些递增和递减运算符的优先级是什么?
答案 0 :(得分:0)
C像许多语言一样使用Eager评估(https://en.wikipedia.org/wiki/Eager_evaluation)
这意味着printf
的参数在调用printf
函数之前被评估。
对于编译器,您的代码看起来像
#include<stdio.h>
void main()
{
int a=10;
a;
--a;
++a;
printf("%d %d %d\n",a,a,a); // output 10 10 10
}
答案 1 :(得分:-1)
它给你相同的输出因为 - - 打印a的原始值然后它变成9(或者用++ a打印11)