Re: [問題] 新手問一個巢狀if else if的問題

看板C_and_CPP (C/C++)作者 ((short)(-15074))時間16年前 (2009/03/05 03:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《SUPERSUGO (sugo)》之銘言: : 最近在分析一個物理問題,需要用到很多條件判斷 : 所以想用巢狀if else if來分析 : 寫一下我的想法 : if(判斷條件一) { : 通過第一個if之後接下來是我想問的 : 如果我有四個判斷條件,若是滿足其中一個再進入到下一個if判斷條件 : 要怎麼寫好呢? 我之前是這樣寫 : if( ( ( (判斷條件二) || (判斷條件三) ) || (判斷條件四) ) || (判斷條件五) ){ : 這樣寫有錯嗎??只是這樣寫都會寫很長,我想改成用四行if else if寫 : if(判斷條件二){ : } : esle if(判斷條件三){ : } : esle if(判斷條件四){ : } : esle if(判斷條件五){ : 滿足上面四個其中一個 再進到下一個if : if{ : . : . : . : 這樣有錯嗎?! 用C++一陣子,覺得語法問題錯還比較好解決,在編譯時就會知道有問題 : 偏偏編譯時沒出錯,只是結果常跟想的不一樣 : 不然就是就是得到結果很怪,不知道對不對 : 就會開始懷疑是程式寫錯還是結果真的這麼怪 囧 第一個沒什麼問題 第二個的話你需要把內層的 if 寫好幾次 不推薦 基本上C語言在這方面還滿鬆的 || 可以長連 (就是你可以寫 A || B || C || D ) 加上一條式子不一定要寫在一行內 所以那個大if你可以寫成 if ( (條件二) || (條件三) || (條件四) || (條件五) ) { //裡面的條件 } 這樣既清楚又容易檢查有沒有問題 善用換行和排版就可以讓code寫起來方便讀也方便 -- 'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done one thing to make absolutely sure that every single person in this school will read your interview, it was banning it!' ---'Harry Potter and the order of the phoenix', P513 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84

03/05 03:30, , 1F
喔喔!!感謝回答!
03/05 03:30, 1F
文章代碼(AID): #19hjLUtp (C_and_CPP)
文章代碼(AID): #19hjLUtp (C_and_CPP)