下列代码为什么会这样输出,请大佬指点。
#include
int main()
{
int x=5;
printf("%d\t%d\t%d\t%d",x++,++x,x--,--x);
}
程序输出为4 5 4 5
希望能告知其计算规则和输出规则。
下列代码为什么会这样输出,请大佬指点。
#include
int main()
{
int x=5;
printf("%d\t%d\t%d\t%d",x++,++x,x--,--x);
}
程序输出为4 5 4 5
希望能告知其计算规则和输出规则。
对于函数参数的求值顺序,在c语言里是未定义行为,这意味着编译器可以任意实现,而不必统一。所以不要在参数上使用副作用表达式。