gpt4 book ai didi

代码崩溃编译器 : main() returning a struct instead of an int

转载 作者:太空狗 更新时间:2023-10-29 15:06:33 26 4
gpt4 key购买 nike

我正在试验一段 C 代码。谁能告诉我为什么带有 SP1 的 VC 9.0 会崩溃?哦,该代码旨在作为讨论为什么像

 void main (void)

是邪恶的。

struct foo { int i; double d; } main (double argc, struct foo argv)
{

struct foo a;
a.d=0;
a.i=0;
return a.i;
}

如果我放

return a;

编译器不会崩溃。

最佳答案

代码给出了未定义的行为。这不需要编译器崩溃,它只是表示您基本上违反了规则,因此无论发生什么,编译器都没有做错任何事情。

编辑:也就是说,作为实现质量问题,编译器崩溃基本上没有任何借口是绝对正确的——合理地说,它应该总是正常退出,无论您提供什么数据。

关于代码崩溃编译器 : main() returning a struct instead of an int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993792/

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