10205
题目
破坏与修复:理解 #include。
- 将代码第一行的
#include <stdio.h>在行首加上//。 - 尝试编译程序。你看到了什么样的编译错误?错误信息是否提到了
puts? - 恢复
#include <stdio.h>,在#include <assert.h>的行首加上//,再次编译。这次的错误信息又提到了什么? - 通过这个实验,你能否总结出
#include指令的作用是什么?
解析
#include 会把头文件中的声明引入当前翻译单元。调用标准库函数或使用标准库宏时,应包含相应的头文件。
答案
去掉 #include <stdio.h> 后,编译器通常会提示 puts、scanf 或 printf 没有可见声明。
去掉 #include <assert.h> 后,编译器通常会提示 assert 没有可见声明,或无法正确使用这个宏。
所以,#include 的作用是把接口声明、宏定义等内容带入当前源文件,使后续代码能够按标准规则使用它们。