使用printf时发出警告

时间:2012-12-29 15:42:07

标签: c

  

可能重复:
  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'

如何消除它?

6 个答案:

答案 0 :(得分:7)

您还没有包含标题文件stdio.h,您可以在#include<stdio.h>

之前添加此文件

头文件包含函数和变量的前向声明。每个外部函数都将在头文件中提及,包括预编译为目标代码的库,以及构建C程序所需的源文件

你需要的是感谢#include行,告诉它可以找到printf的定义。

#include<stdio.h>
main()
{
    printf("Hi\n");
}

检查The Header File

和printf =&gt; void printf (const char *format, ...);


现在解释上面的程序

排在第一位

# =&GT;它是处理器,preprocessor是一个翻译阶段,在编译器正确使用它之前应用于你的源代码

推荐阅读C - Pre-Processors

main() function =&gt;主要功能是程序开始执行的地方。它负责程序功能的高级组织,并且通常可以访问程序执行时给出的命令参数。

printf()几乎是标准ANSI C printf函数的完全实现,它将格式化的输出以终端(TTY)模式发送到屏幕。这属于stdio.h头文件

好读wikipedia articleWhere 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 declarationfunction prototype时会发生隐式声明警告 printf()函数原型在#include<stdio.h>

中声明