| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:哎呀,困扰啊
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用经哥在2012-10-9 12:52:58的发言:

我是用turbo 2.0的,就是发现用了printf()还是可以不用头文件的,搞得我有点晕的

这是TC的一个特性 允许不引stdio.h的情况下使用输入输出的函数 但貌似只有TC支持这个罢。。
2012-10-09 12:56
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
我记得谭浩强的书里说过 翻了一下果然有

第三版 73页正数第6行

有的C语言编译系统(如Turbo C 2.0)允许在使用printf和scanf函数时可不加#include<stdio.h>……

看来 你不知道的原因还是看书不认真啊 当然也可能你看的是其他的书。。。
2012-10-09 12:58
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:3 
printf能用是因为那个编译器自动能识别这个特殊的函数(scanf应该也是特殊的)或是自动在你的main前面加了一个int printf(const char*, ...);的函数声明。
新的C标准规定,在调用一个函数之前如果没有发现这个函数的声明或定义,那么这个函数就不能被调用。
因为只有通过函数签名才能从目标文件或库中找到这个函数入口的偏移地址。
想不包含头文件就调用函数,那么只要你知道你想调用的这个函数的原型,在使用之前声明这个函数就行了。当然很少有人这样做。
K&R的语法和现在标准C的语法差别还是挺大的。

My life is brilliant
2012-10-09 13:05
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
TC和VC6这种十几年前的东西,应该放弃了。因为缺陷始终在不断的完善,新的东西可能要比老的东西好一点。

My life is brilliant
2012-10-09 13:08
快速回复:哎呀,困扰啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019631 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved