-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);
}
當我運行它時,它會給出以下輸出。解釋以下C程序的輸出
6 4 6 6 1
3 2 3 3 3
請解釋代碼。
#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);
}
當我運行它時,它會給出以下輸出。解釋以下C程序的輸出
6 4 6 6 1
3 2 3 3 3
請解釋代碼。
函數自變量的求值順序沒有定義,因此可以按任意順序應用運算符++
。您正在查看未定義行爲的結果。
**未定義的行爲**。 [仔細閱讀**,如果你想知道爲什麼。](http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points) – WhozCraig
聽起來像作業。 –
我是新來的C語言...請解釋我的代碼..它不是作業... – user1521160