在C程序中除以零会导致错误消息的异常终止Floating point exception (core dumped).这对于浮点除法并不足为奇,但为什么在整数除以零时会这样说呢?整数除法实际上是否使用引擎盖下的FPU?
(顺便说一下,这都是在x86下的Linux上.)
#include <stdio.h>
int
main()
{
int i;
int c;
int a[30] = { 5, 7, 11, 13, 17, 19, 23, 29, 31, 37,
41, 43, 47, 53, 59, 61, 67, 71, 73, 79,
83, 89, 97, 101, 103, 107, 109, 113, 127, 131 };
for (i = 0; i < 30; i++) {
c = (a[i] + i) / (i - 1);
printf("Value of c is %d", c);
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我在这个程序中面临浮点异常错误。