c语言中除法里除数为0,编译器会不会报错么

2025-03-10 11:06:02
推荐回答(4个)
回答1:

区分除以常量0,和变量为0时被除两种情况。

1 除以常量0。
编译器除非特别设置,否则会对其检测到,并报一个警告(warning),提醒有除0的情况。
2 除法中变量为0。

由于变量是在运行中赋值的,在编译阶段中,编译器无法预知是否可能为0,所以对于此类情况,编译器不会报错。

回答2:

不会,如果很明显的话,可能会给出一个警告,如果不明显,没有任何提示
只有在运行的时候会发生运行时错误

回答3:

首先编译的时候会给出如下warning:warning: division by zero。
然后运行时如果是"3.0 / 0"这样的(floating),会给出inf;
如果是"3 / 0"这样的(integer),会给出Floating point exception。

回答4:

一般编译器进行编译时不对除数做检查,这应该由程序员在代码里在除法前对除数做判断保证的