看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): VC++ 額外使用到的函數庫(Library Used): MFC 問題(Question): 程式碼(Code):(請善用置底文網頁, 記得排版) 我要讓x+5,但是最多為100,所以寫了: x = ((x + 5) < 100 ? (x + 5):100); 用visual studio 2008編譯,編譯成console程式的執行結果跟我想的一樣, 但是在MFC的專案裡面的執行結果讓我感覺是 x = x + 5;//102-107-112-.... 一定要寫成這樣才會正常: x = (x < 95 ? (x + 5):100); 實在很詭異,請問這裡面隱藏著什麼學問嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.92.38
stupid0319:高中數學有教!! 01/18 16:52
worldxxi:是我問了水準很低的問題嗎Q_Q 01/18 17:40
stupid0319:沒有什麼大問題,應該是你沒有睡飽的關係 01/18 18:11
legnaleurc:想想可樂果 ... 呃,不是, 想想x值在 95~99 之間的狀況 01/18 18:37
darkgerm:為什麼我覺得兩行一樣… 不是移項嗎?不會超過極值吧 01/18 19:05
worldxxi:我還是不懂 兩個邏輯等價的式子 為什麼執行起來會不同 01/18 22:32
worldxxi:在console底下 兩者完全相同 但是在mfc裡面卻不一樣 01/18 22:33
VictorTom:乍看之下, < 那條判斷式兩者數學上等價呀 @_@" 01/18 22:37
tropical72:我以為 0x7FFF FFFB <= x 時候結果會不一樣.. 01/18 23:31
loveme00835:x 的型態是? 01/19 00:05
VictorTom:曾經想過是不是負數爆了, 可是看 //註解寫的102..又不像 01/19 00:27
worldxxi:int x = 0; x......; 01/19 08:59
※ 編輯: worldxxi 來自: 140.96.92.38 (01/19 09:15)