gpt4 book ai didi

c++ - 为什么是0; C++ 中的有效语句?

转载 作者:行者123 更新时间:2023-12-01 14:03:03 25 4
gpt4 key购买 nike

int main() {
int a;
2;
4;
a;

return 0;
}
为什么这段代码有效(即不引发任何编译错误)?计算机在执行 1; 时做了什么|或 a; ?

最佳答案

类似 0; 的声明, 4;是无操作。
请注意,自 a; 以来,您的程序的行为未定义。读取未初始化的变量 a .哎呀。0例如,是一个有效的表达式(它是一个值为零的八进制文字 int 类型)。
语句可以是后跟分号的表达式。
因此

0;
是法律声明。事实就是如此。当然,现在更改语言以禁止此类操作可能会破坏现有代码。在 C 语言的形成年代,可能也没有太大的兴趣来禁止这些事情。任何合理的编译器都会优化出这样的语句。
(你需要至少一个语句的地方是在 switch 块体中。 ; 本身可能会在一些编译器中发出警告,所以 0; 可以有它的用处。)

关于c++ - 为什么是0; C++ 中的有效语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62890467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com