程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-關於三目表達式問題,運算順序的問題

c++-關於三目表達式問題,運算順序的問題

編輯:編程解疑
關於三目表達式問題,運算順序的問題

#include
void main()
{
int a=1, b=2, c=3;
cout<<(a coutb ? b-- : ++a)< coutb ? ++a : ++b)< coutb ? a : b>c ? b : c)<<endl;
}
圖片說明
給出這一段代碼,第一行和第二行輸出為1和2我能理解,但是為什麼第三行輸出為6?還有第四行為什麼也是6?
求大神指點一二,小弟在此謝過!

最佳回答:


第一行cout之後,輸出1,a=1,b=2,c=3
第二行cout之後,輸出2,a=2,b=2,c=3
第三行cout:c+=(a>b ? ++a : ++b) ---> c+=(++a) ---> c+=3 輸出6,a=2,b=3,c=6
第四行cout:a>b ? a : (b>c?b : c) --> b>c?b : c --> c 輸出6,a=2,b=3,c=6

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved