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/