我在提到问题“
“IF” argument evaluation order?”是为了理解c中“if”语句的评估顺序.
#include <iostream> using namespace std; int main() { int t = 0; if((1 / t) == 1 && t != 0) { cout << "0" << endl; } cout << "1" << endl; return 0; }
结果是1而不是浮点异常.
解决方法
除零是未定义的行为.任何事情都可能发生.
If the second operand of / or % is zero the behavior is undefined.