C語言中--a和a--有什麼區別?麻煩給舉個例子。謝謝!
10
最佳回答:
假設int a = 1;
那麼假設printf("%d",--a);那麼是將a減1,然後輸出a
輸出的結果就是:0
假設printf("%d",a--);是先輸出a,然後執行a-1.
輸出結果是:1
int a = 1;
printf("%d\n",a--); // 是先輸出a,然後執行a-1.
printf("%d\n",a); // 所以這裡輸出的a是0!
而且注意不要把增量運算符或減量運算符放在輸出中,比如:
int a = 1;
printf("%d\t%d\t%d\t%d\n",a,a++,a,a++);
輸出結果是
3 2 2 1
你可能疑惑為什麼第二個a++不是3呢?因為標准C並沒有規定在一個語句中是每執行執行一次增減量運算符後執行增減還是整個語句執行完後完成增減...所以最好不要使用這種方法.可以把語句分開來運算...