当有人在c ++中将某些东西除以零时,任何正文都可以告诉我程序崩溃的原因是什么。
答案 0 :(得分:4)
最好的“理由”是,根据语言,除以零是未定义的行为,因此任何事情都可能发生。崩溃是程序员最有用的“任何东西”,因为它可以帮助你发现错误。
至于为什么C ++语言将div除以零未定义,这可能来自C也是如此,反过来来自(1)没有数学定义的事实,以及(2)不同的硬件可能会有所不同除以0时的事情,并且由于没有理由将有效程序划分为零,所以不值得在每个部门周围添加仿真/补丁层以强制所有平台上的共同行为。
答案 1 :(得分:0)
除以零是数学未定义,它与c ++或任何其他语言无关。