gpt4 book ai didi

c - 解释代码编译成功的原因

转载 作者:行者123 更新时间:2023-12-02 05:09:50 24 4
gpt4 key购买 nike

通常,如果 */(block comment closing) 出现在没有 /*(block comment) 的代码中打开),编译器会产生错误。

但是,为什么编译器NOT在以下情况下会产生错误?

#include <stdio.h>
int main(void)
{
#ifdef abcd
printf("what ever it is");
#endif */ --> the problem with this stray '*/' after #endif
return 0;
}

最佳答案

我刚刚编译了您使用 gcc 4.6.x 提供的代码,没有任何标志,并收到警告

warning: extra tokens at end of #endif directive [enabled by default]

因此预处理器首先删除所有注释,然后跳过#endif 行的所有数据。所以我不知道这是一个错误还是一个功能,但我收到了关于它的警告,所以开发人员知道这个问题。

关于c - 解释代码编译成功的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15681936/

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