是否有任何可能的方法来编写不包含stdio.h
作为头文件的 C 程序。有人建议可以通过声明来实现extern int scanf(char* format, ...);
#include <stdio.h> //I want this same code to work without including this line
int main ()
{
char str [80];
scanf ("%s",str);
return 0;
}
是否有任何可能的方法来编写不包含stdio.h
作为头文件的 C 程序。有人建议可以通过声明来实现extern int scanf(char* format, ...);
#include <stdio.h> //I want this same code to work without including this line
int main ()
{
char str [80];
scanf ("%s",str);
return 0;
}
您可以使用以下方式声明该 scanf
函数:
extern int scanf(const char *format, ...);
extern 关键字是可选的,但我喜欢将其包括在内,以提醒您该函数是在其他地方定义的。
您的示例将如下所示:
extern int scanf(const char *format, ...);
int main ()
{
char str [80];
scanf ("%s",str);
return 0;
}
在 C-89 中,该代码将在没有#include 的情况下编译,因为函数原型是可选的。
话虽如此,它属于“非常糟糕的事情”列表 -scanf
可能是一个宏,它可能有一个或多个必需的参数,......
所以你可以做到,但这就像在没有任何灯光的晚上开车一样。即使您认为自己熟悉道路,您也可能会撞车。