-2
#include <stdio.h>
main()
{
int a=1;
printf("%d %d %d %d %d\n",++a,a++,++a,++a,a++);
a=1;
printf("%d %d %d %d %d",a,a++,a,++a,a);
}

当我运行它时,它会给出以下输出。

6 4 6 6 1
3 2 3 3 3

请解释代码。

4

1 回答 1

2

未定义函数参数的求值顺序,因此++可以按任何顺序应用运算符。您正在查看未定义行为的结果。

于 2013-08-18T06:53:07.157 回答