gpt4 book ai didi

C 整数行为 : Dividing by Zero

转载 作者:太空宇宙 更新时间:2023-11-04 05:35:41 30 4
gpt4 key购买 nike

<分区>

我最近决定满足我长期以来的好奇心。 在 C 中除以零会发生什么? 我一直只是简单地用逻辑避免这种情况,但很好奇像 C 这样不能抛出可捕获异常的语言如何处理这种情况。

这是我非常简单的测试(在 Windows 10 上用 GCC 编译):

int main()
{
double test1 = 1.0/0.0;
printf( "%f", test1 );
int test2 = 1/0;
printf( "%d", test2 );
}

double 类型完成的操作给了我一个可爱的小提示,表明结果不是数字:1.#INF00。到目前为止一切都很好..

但是,当用 int 类型执行除以零时,程序不太清楚地“停止工作”。我在 Windows 上运行它,所以我收到了那个可爱的对话框提醒。

我对这种行为很好奇。为什么将程序崩溃作为整数除以零的选择解决方案?是否真的没有其他解决方案(类似于 double 方式)来处理被零除?这在每个编译器上都是相同的行为,还是只是 GCC?

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com