Printf未在此范围内声明

我刚刚开始学习C.但是我所引用的书中的第一个程序会产生一个错误,即“printf未在此范围内声明”

我正在输入完全按照书中给出的代码。 仍然存在错误。 书

码

编译器没有找到printf函数的声明。 这就是它显示编译错误的原因。

printf函数的正确声明(ISO / IEC 9899:1999)是:

 int printf(const char * restrictformat, ... ); 

您可以在调用之前声明上面的函数,也可以包含包含该函数声明的header file 。 但是,只包含包含函数声明的头文件( #include for printf )将是最简单和最安全的。

如果您想在调用之前知道为什么需要提供函数声明,可以查看这个问题 。 解释如下 –

设计了C编程语言,以便编译器可以实现为单程编译器。 在这样的编译器中,每个编译阶段仅执行一次。 在这样的编译器中,您不能引用稍后在源文件中定义的实体。

此外,在C中,编译器一次只解释单个编译单元(通常是.c文件和所有包含的.h文件)。 因此,您需要一种机制来引用另一个编译单元中定义的函数。 C中的所有标识符都需要在使用之前声明。 对于函数和变量都是如此。 对于函数,声明需要在第一次调用函数之前。 完整声明包括返回类型以及参数的数量和类型。 这也称为函数原型。

您还可以在同一编译单元中调用函数之前定义函数。 或者你可以在调用它之前声明它。 最好(不总是)包含包含函数声明的头文件。

并考虑购买一本新书。 作者应该提到头文件包含。

这本书已经过时了。

 #include  

到你的程序。 它提供了printf的声明和许多其他function。 有关文件中定义的函数的完整列表,请查找其文档 。

printf()stdio.h头文件中声明。

将其添加为程序的第一行:

 #include  

添加一个

  #include 

在.c文件的开头。 它是为您编写的每个c程序包含的头文件。 stdio.h头文件包含标准输入/输出函数声明。(例如printf和scanf)

你必须包含头文件:“stdio.h”