看板 Programming 關於我們 聯絡資訊
※ 引述《jiannrong.bbs@bbs.wretch.cc (大改名片檔)》之銘言: : 假設我在這裡 分子輸入 erer : 照理說應該要顯示 其他錯誤 : 可是我的卻會變成: : 輸入分子:erer : 輸入分母:44/2=22 : 請按任意鍵繼續 . . . : 請問我哪裡寫錯了呢 : 謝謝 哎...... cin >> numerator; cin >> denominator; 而你輸入文字, 結果只是造成 inpute failure 啊! 之後印出的結果不合你的預期都算正常,因為錯誤情況在前面早就發生了. 程式沒有寫錯,是因給了不適合的輸入. Input failure的行為是這樣: 1.由cin讀取輸入置入numerator,但型態不合,忽略numerator的輸入, 輸入游標停在 "erer" 左邊. cin狀態設為fail. 2.由cin讀取輸入置入denominator,但形態不合,忽略denominator的輸入, 輸入游標還停在 "erer" 左邊. 3.沒有接到任何輸入值的二個數字numerator與denominator相除, boom! -- 邏輯上打個比方: p q| p -> q ---+------------- 1 1| 1 1 0| 0 0 1| 1 <--- This case... 0 0| 1 <--- and this. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.210.87