Re: [問題] 處理溢位問題?
參考看看,應該不難理解
#include <iostream>
#include <limits.h> /* INT_MAX */
using namespace std;
int main (void) {
int a, b, c, d = 1;
cin >> a >> b;
c = a;
do {
if ((INT_MAX - a) < c) {
cout << "overflow!" << endl;
exit(1); /* terminate */
}
c = c + a;
d++;
} while (d != b);
cout << a << " * " << b << " = " << c << endl;
return 0;
}
※ 引述《xup6xu6 (是女的都好)》之銘言:
: 用int宣告變數寫乘法運算,要怎麼處理溢位問題
: int a,b,c,d=1;
: cin >> a >> b;
: c=a;
: do {
: c=c+a;
: d++;
: }
: while(d!=b);
: cout<<"a和b的積="<<c;
: 請問要怎麼改才能讓程式判斷當加到溢位時,cout<<"溢位囉!"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.0.106
※ 編輯: Dannvix 來自: 61.229.0.106 (04/12 21:21)
推
04/12 21:28, , 1F
04/12 21:28, 1F
→
04/12 21:29, , 2F
04/12 21:29, 2F
推
04/12 21:32, , 3F
04/12 21:32, 3F
→
04/12 21:32, , 4F
04/12 21:32, 4F
→
04/12 21:33, , 5F
04/12 21:33, 5F
推
04/12 21:47, , 6F
04/12 21:47, 6F
推
04/12 21:51, , 7F
04/12 21:51, 7F
→
04/12 21:51, , 8F
04/12 21:51, 8F
→
04/12 21:52, , 9F
04/12 21:52, 9F
推
04/12 22:27, , 10F
04/12 22:27, 10F
推
04/12 22:34, , 11F
04/12 22:34, 11F
→
04/12 23:21, , 12F
04/12 23:21, 12F
→
04/13 18:16, , 13F
04/13 18:16, 13F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章