我有以下代码
#include <stdio.h>
main()
{
int c = 3;
int b = 2;
printf("%d %d %d %d %d\n", c,--c,c--,++c,c++);
printf("%d %d %d",--b,++b, b--);
}
我认为o / p会像:
3 3 5 5 3
1 2 2
但实际输出是:
3 3 5 3 3
1 1 2
实际上,任何预增量或预减量都会使用变量的最新值进行更新。为什么会这样?