为什么我的vc++6.0自动识别出printf函数,不用头文件呢

1992llx 2015-10-26 10:55:26
如图,不用输入stdio头文件也也可以编译运行。
...全文
1211 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
penghuahuijuan 2016-07-31
  • 打赏
  • 举报
回复
因为这个头文件太常用了,所以很多老的编译器会默认隐含包含stdio.h和stdlib.h两个头文件
SUNKMOON 2016-06-29
  • 打赏
  • 举报
回复
引用 8 楼 izongjun 的回复:
[quote=引用 4 楼 paschen 的回复:] 因为这个头文件太常用了,所以很多老的编译器会默认隐含包含stdio.h和stdlib.h两个头文件。这时候即使你没有自己手动包含stdio.h也是不会报错的。还有一种情况,是虽然你没有包含这个头文件,但是你包含的其他头文件包含了这个头文件,这时候你是用其中的函数也是不会报错的。不过很多新的编译器已经不在默认隐含包含这些常用的头文件了,如果使用其中的函数必须自己手动包含,否则会报错。所以为了养成好的编程习惯,用到的里面的东西就手动包含一下是没问题的。
谢谢,回答的好详细,还有个问题,这个回答好像是有分的,我怎么才能把分给你[/quote] 我来告诉你,,你看帖时候,注意是自己的贴,,贴头或尾有一个结贴,点一下,
paschen 2015-10-27
  • 打赏
  • 举报
回复
因为这个头文件太常用了,所以很多老的编译器会默认隐含包含stdio.h和stdlib.h两个头文件。这时候即使你没有自己手动包含stdio.h也是不会报错的。还有一种情况,是虽然你没有包含这个头文件,但是你包含的其他头文件包含了这个头文件,这时候你是用其中的函数也是不会报错的。不过很多新的编译器已经不在默认隐含包含这些常用的头文件了,如果使用其中的函数必须自己手动包含,否则会报错。所以为了养成好的编程习惯,用到的里面的东西就手动包含一下是没问题的。
paschen 2015-10-27
  • 打赏
  • 举报
回复
引用 2 楼 akirya 的回复:
.c 默认包含了stdio.h
正解
  • 打赏
  • 举报
回复
.c 默认包含了stdio.h
假正经的班长 2015-10-27
  • 打赏
  • 举报
回复
vs2010 下报警告 warning C4013: 'printf' undefined; assuming extern returning int
1992llx 2015-10-27
  • 打赏
  • 举报
回复
引用 4 楼 paschen 的回复:
因为这个头文件太常用了,所以很多老的编译器会默认隐含包含stdio.h和stdlib.h两个头文件。这时候即使你没有自己手动包含stdio.h也是不会报错的。还有一种情况,是虽然你没有包含这个头文件,但是你包含的其他头文件包含了这个头文件,这时候你是用其中的函数也是不会报错的。不过很多新的编译器已经不在默认隐含包含这些常用的头文件了,如果使用其中的函数必须自己手动包含,否则会报错。所以为了养成好的编程习惯,用到的里面的东西就手动包含一下是没问题的。
谢谢,回答的好详细,还有个问题,这个回答好像是有分的,我怎么才能把分给你
1992llx 2015-10-27
  • 打赏
  • 举报
回复
谢谢你们的回答,一个简单的问题让我知道了好多小知识,现在应该是明白了
qq_18232323 2015-10-27
  • 打赏
  • 举报
回复
最好别用6.0了,6.0又一些问题 比如说,数组越界它都不报错
pony006 2015-10-27
  • 打赏
  • 举报
回复
vc6.0原版

--------------------Configuration: t - Win32 Debug--------------------
Compiling...
t.c
D:\VC60\t\t.c(3) : warning C4013: 'printf' undefined; assuming extern returning int
Linking...

t.exe - 0 error(s), 1 warning(s)











33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧