相关疑难解决方法(0)

像#include这样的预处理器指令是否只能放在程序代码的顶部?

#pragma在函数内部使用了指令而没有错误或警告(特别是#pragma pack()).但是下面的代码显示了警告incompatible implicit declaration of built-in function 'printf'|:

int main(void)
{
    printf("Trial");
}

#include<stdio.h>
Run Code Online (Sandbox Code Playgroud)

此外,这是我所拥有的一本书的摘录.作者对SO的评价很差,特别是对他的慷慨使用void main(),但我觉得没有作者在没有理由的情况下声称以下内容是不是很糟糕:

这些预处理程序指令中的每一个都以#符号开头.指令可以放在程序的任何位置,但通常放在程序的开头,在第一个函数定义之前.

那么你能告诉我是否必须使用一些预处理器指令,比如#include在程序的顶部,而其他类似的指令#pragma可以在程序的任何地方使用?

编辑OUAH的评论之后我尝试了以下内容,但它没有发出警告,它给出了一大堆错误 .LOL.

int main(void)
{
    #include<stdio.h>
    printf("Trial");
}
Run Code Online (Sandbox Code Playgroud)

c pragma include c-preprocessor preprocessor-directive

4
推荐指数
2
解决办法
2821
查看次数