这是一个简单的代码,如下所示:
#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) Core(TM) i7-5600U CPU @ 2.60GHz
gcc 版本 8.3.0
我打算看到除法的签名 int 溢出。但是我对信号 FPE 感到非常困惑,因为没有计算浮点数。