由于我无法理解的原因,这会导致浮点异常崩溃。
这是令人惊讶的,因为我的代码中似乎没有任何浮点运算,我也没有将i
设置为0
。我甚至在代码中添加了i * i != 0
以确保是这种情况。
请有人帮帮我吗?
这是我的代码:
#include <iostream>
int main() {
const int A = 42;
int i;
i * i != 0;
for (i = 1; i < 99999999; i++) {
if (A % (i * i) == 0) {
std::cout << i << std::endl;
}
}
}
答案 0 :(得分:3)
您的代码正在调用未定义的行为,因为
i * i != 0
在初始化i
之前出现,因此您可以理解您的程序的行为,因为发生了未定义的行为,并且可能发生的事情之一是i == 0
在某些时候。
此外,该声明绝对没有任何内容,因此毫无意义。