区分除以常量0,和变量为0时被除两种情况。
1 除以常量0。
编译器除非特别设置,否则会对其检测到,并报一个警告(warning),提醒有除0的情况。
2 除法中变量为0。
由于变量是在运行中赋值的,在编译阶段中,编译器无法预知是否可能为0,所以对于此类情况,编译器不会报错。
不会,如果很明显的话,可能会给出一个警告,如果不明显,没有任何提示
只有在运行的时候会发生运行时错误
首先编译的时候会给出如下warning:warning: division by zero。
然后运行时如果是"3.0 / 0"这样的(floating),会给出inf;
如果是"3 / 0"这样的(integer),会给出Floating point exception。
一般编译器进行编译时不对除数做检查,这应该由程序员在代码里在除法前对除数做判断保证的