請大神幫忙
例題1.#include?<stdio.h>\n2.intmain()\n3.{\n4.int?x=0;\n5.printf("x=%d\n",++x);\n6.printf("x=%d\n",++x);\n7.return0;\n8.}誰能告訴我這樣做為什么不正確
例題1.#include?<stdio.h>\n2.intmain()\n3.{\n4.int?x=0;\n5.printf("x=%d\n",++x);\n6.printf("x=%d\n",++x);\n7.return0;\n8.}誰能告訴我這樣做為什么不正確
2016-03-23
舉報
2016-03-24
#include <stdio.h>
int main()
{
int x=0;
printf("x=%d\n",++x);
printf("x=%d\n",++x);
return 0;
}
你要驗證什么?這個題的輸出結(jié)果是x=1,x=2;
因為自增運算符++,不論前置++x,還是后置x++,都是使得變量x的值多1;
區(qū)別在于++構(gòu)成的自增表達式的值不同。x++表達式的值為當(dāng)前x的值;而++x表達式的值為自增1后x的值。
2016-03-23
你這樣運行結(jié)果是X=1;X=2
第一個應(yīng)該是X++,電腦才會輸出X=0.
2016-03-23
對,就是這個意思。為什么不正確?
2016-03-23
#include <stdio.h>
int main()
{
int x=0;
printf("x=%d\n",++x);
printf("x=%d\n",++x);
return 0;
}