int main()
{
    int x = 5, y = 0;
    int z = x / y;
    return 0;
}

我知道它属于未定义的行为,但这是否意味着分割错误?CPU如何处理除以0的情况?
运行此命令时,会出现浮点异常(核心转储)。

最佳答案

如果行为是未定义的,则意味着对发生的事情没有定义。所以提出“这是否意味着分割错误”的问题意味着你忽略了这一点。任何事情都有可能发生。
另外,有许多CPU,而且您没有指定一个,所以回答“CPU如何处理除以0”当然也是不可能的。
您可以捕获异常,并在代码中处理它们。

关于c - C中的任何数字除以0,是否会出现段错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51171327/

10-14 08:23