为什么将INT_MIN除以-1时使用SIGFPE

时间:2019-10-25 05:55:12

标签: c signals sigfpe

这是一个简单的代码,如下所示:

#include <stdio.h>
#include <stdint.h>
#include <limits.h>
int main(){
    int b = INT_MIN;
    int c = -1;
    int a = b/c;
}

在编译后运行代码时,出现SIGFPE:

[1]    27835 floating point exception (core dumped)  /tmp/a

我的系统信息:
内核:4.19.0-5-amd64
CPU:Intel(R)CoreTM i7-5600U CPU @ 2.60GHz
gcc版本8.3.0

我打算看到除法的有符号的int溢出。但是我对信号FPE感到非常困惑,因为没有进行浮点计算。

0 个答案:

没有答案