看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 判斷式的++ 餵入的資料(Input): 預期的正確結果(Expected Output): 11 16 2 4 錯誤結果(Wrong Output): 11 15 1 4 程式碼(Code):(請善用置底文網頁, 記得排版) int a=10,b=15,c=1,d=3; d+=((a++)||(++b)&&(c++)); printf("%d %d %d %d",a,b,c,d); 補充說明(Supplement): 是遇到&&時就不會++了?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.161.125
james732:我只想說我絕對不會把程式碼寫成這個樣子 12/28 23:49
james732:這種程式碼我也不會想花時間去研究 12/28 23:50
VictorTom:這不是++的問題, 這是 && 與 || short circuit的問題... 12/28 23:50
VictorTom:Google: Short-circuit evaluation; 另外同意j大說的XD 12/28 23:52
TaiwanXDman:&& 前面是false 他就不會去做後面的了 12/28 23:58
loveme00835:腦筋急轉彎 12/29 02:20
hakman:a++ 不等於0 所以成立 後面就不會去做了 12/29 02:21
purincess:我連&&跟||誰要先做都不知道了(掩面 12/29 02:30
loveme00835:不知道就用巢狀 if 包起來吧...基本上沒有用具名變數 12/29 02:32
loveme00835:代掉根本是要刁看 code 的人啊 12/29 02:32
LoveCheer:這樣的程式風格太難閱讀與維護 12/29 11:59
xatier:short circuit 正解! 12/30 00:07
chuckAI:謝謝上面各位大大的回答!!! 12/30 00:21
IndianF4:只有出題老師才會這樣寫吧 12/30 19:25