程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言中--a和a--有什麼區別?麻煩給舉個例子。謝謝!

C語言中--a和a--有什麼區別?麻煩給舉個例子。謝謝!

編輯:C語言問答

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並沒有規定在一個語句中是每執行執行一次增減量運算符後執行增減還是整個語句執行完後完成增減...所以最好不要使用這種方法.可以把語句分開來運算...
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved