【发布时间】:2020-12-17 13:33:11
【问题描述】:
我是 C++ 新手。听说除以0会导致运行时错误,但是当我尝试时,它抛出了编译器错误C2124并且没有创建目标文件,所以编译器会在创建之前自动运行代码以查看它是否可执行目标文件? (顺便说一句,我正在使用 Visual Studio 社区)
int main() { int a = 9 / 0; }
【问题讨论】:
-
你是用常数0除还是用变量来产生除以零?
-
这是未定义的行为,因此两个答案都是正确的,以及“它将正常运行”和“你会得到nasal demons”
-
@Steve 这里是代码
int main() { int a = 9 / 0; } -
编译器不必运行你的代码来指向它。解析器告诉您此代码包含除以零。尝试使用 int div = 0; int a = 9 / div;
-
如果你写
int x= 5/3;,那么通常不会在运行时进行除法
标签: c++ visual-studio compiler-errors runtime-error