问题中提供的代码片段引起了对 C 中主函数递归调用有效性的担忧。
int main () { return main(); }
虽然编译器可能会毫无错误地接受代码,但其行为是不确定的,并且可能会发生错误。 undefined。
根据 C 标准,main 函数不应该由表达式调用。此规则意味着禁止直接调用 main,以及通过指针间接或函数地址进行调用。
尽管有此禁止,但某些编译器可能允许此类对 main 的调用。然而,这种行为并不能得到保证,并且在不同的环境中可能会有所不同。
在其内部调用 main 的后果是未定义的。程序可能会进入无限循环、意外终止或表现出不可预测的结果。在尝试调试或分析程序时,调用 main 也可能会导致问题。
总之,标准不支持对 C 中的 main 进行递归调用,应避免。尝试使用此类调用可能会导致未定义的行为和不可靠的程序执行。
以上是C 的 main 函数可以递归调用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!