C:不包含浮点数的代码中的“浮点异常”
发布时间:2020-12-16 10:14:33 所属栏目:百科 来源:网络整理
导读:在这段代码中: #include stdlib.h#include stdio.h#include stdint.hint main (int argc,char ** argv) { uint64_t bignum = 600851475143; int is_prime = 0; uint64_t result = 0; uint64_t i = 0; uint64_t j = 0; for (i = 0; i bignum; i++) { if (big
在这段代码中:
#include <stdlib.h> #include <stdio.h> #include <stdint.h> int main (int argc,char ** argv) { uint64_t bignum = 600851475143; int is_prime = 0; uint64_t result = 0; uint64_t i = 0; uint64_t j = 0; for (i = 0; i < bignum; i++) { if (bignum % i == 0) { is_prime = 1; for (j = 0; j < i; j++) { if (i % j == 0) { is_prime = 0; break; } } if (is_prime) { result = i; } } } printf("The largest prime factor of the number %lu is %lu.n",bignum,result); } 编译时: $gcc -Wall -g 3.c -o 3 -lm 运行生成的可执行文件时,我得到一个“浮点异常”.代码中没有浮点数.这里出了什么问题,我需要做些什么才能解决问题? 解决方法
除以0被报告为“浮点异常”.不要问我为什么.
你在至少两个地方除以0.请注意,模运算符%计为除法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |