gpt4 book ai didi

c - GCC 对待 int i=048;作为一个错误,为什么 GCC 不能更智能呢?

转载 作者:行者123 更新时间:2023-11-30 19:53:06 24 4
gpt4 key购买 nike

GCC 将 int i=048; 视为错误,因为 048 应该是八进制数,但 8 不能出现在八进制数。

但是为什么 GCC 不能更智能,将 is 视为十进制数呢?

最佳答案

因为如果将 048 解释为十进制,就会违反“C”语言的语法规则。任何以 0 开头的数字都应解释为“八进制”。

这是一件好事,因为编译器努力遵守标准。

还假设您正在为自己的 C 编译器编写一个 C 解析器,它实际上可以“理解”您的意思 048, 049.. 都是十进制数字。现在您将如何制作该解析器?这是可能的,但复杂得令人难以置信。以及大量错误的来源。

关于c - GCC 对待 int i=048;作为一个错误,为什么 GCC 不能更智能呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225060/

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