可能重复:
c - warning: implicit declaration of function ‘printf’
刚刚学习C.我在hello world program中收到警告:
main()
{
printf("Hi\n");
}
这里有警告:
x.c: In function 'main':
x.c:2: warning: incompatible implicit declaration of built-in function 'printf'
如何消除它?
答案 0 :(得分:7)
您还没有包含标题文件stdio.h
,您可以在#include<stdio.h>
头文件包含函数和变量的前向声明。每个外部函数都将在头文件中提及,包括预编译为目标代码的库,以及构建C程序所需的源文件
你需要的是感谢#include
行,告诉它可以找到printf的定义。
#include<stdio.h>
main()
{
printf("Hi\n");
}
和printf =&gt; void printf (const char *format, ...);
现在解释上面的程序
排在第一位
#
=&GT;它是处理器,preprocessor
是一个翻译阶段,在编译器正确使用它之前应用于你的源代码
main()
function =&gt;主要功能是程序开始执行的地方。它负责程序功能的高级组织,并且通常可以访问程序执行时给出的命令参数。
printf()
几乎是标准ANSI C printf
函数的完全实现,它将格式化的输出以终端(TTY)模式发送到屏幕。这属于stdio.h
头文件
好读wikipedia article和Where are C/C++ main function's parameters?
答案 1 :(得分:6)
您没有包含库,在开始代码之前添加它
#include <stdio.h>
因为您使用的是printf()
而且它是输出函数,属于stdio.h
库...
答案 2 :(得分:4)
您缺少声明库的#include。
添加:
#include <stdio.h>
main(){
...etc
你需要在使用它们之前声明它们。
答案 3 :(得分:1)
包含以下头文件以访问printf
的定义。
#include <stdio.h>
答案 4 :(得分:1)
不兼容的隐式声明...... 这句话说明了printf之前的事情。那个东西是#include“C中的每个内置函数都应该引用lib中的预定义过程”
答案 5 :(得分:0)
在程序中包含头文件..
#include<stdio.h>
当编译器期望function declaration
或function prototype
时会发生隐式声明警告
printf()函数原型在#include<stdio.h>