将今天遇到的除数为0的情况记录一下:
对于除数为0,要分两种情况:(1)除数为int型,(2)除数为double型。
首先,直接写下面的代码会编译报错:
// 情况1
cout << 1 / 0 << endl;
// 情况2
cout << 1 / 0.0 << endl;
将除数定义为变量,编译通过:
// 情况1
int a = 0;
cout << 1 / a << endl;
// 情况2
double b = 0.0;
cout << 1 / b << endl;
运行时,情况1报错:Integer division by zero
情况2顺利运行,只不过打印的值为1.#INF。
看来,对于double型运算,引入了额外的量来处理除数为0的情况。