c语言中怎么有时候不加#include<stdio.h>的头文件也可以用printf(),scanf()等函数呢?

如题所述

什么时候都不可以,只要用到这些函数,就应该包含这个头文件,不包含这个头文件而使用这些函数是一个非常不好的编程习惯,会导致你的程序不可移植(支持这个特性的编译系统很少,目前只有TC2以及用TC2作为编译器的一些IDE有这个特性,而且都不标准,如果你将这样的代码移植到其它的编译系统上,会有很多错误,程序将无法顺利编译)
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-18
很多编译器为了开发方便自己集成了printf和scanf函数,有些时候可以不加是因为编译器的问题,在链接过程自动检测到了这两个函数,并且自动加载了stdio.h头文肩,并不是没有加。

我写过编译器和C语言优化器,这个编译链接过程我还是很清楚的。
第2个回答  2010-06-18
一般不加这个是可以的。但是如果还要用getchar,putchar等其他输入输出,就一定要加了本回答被提问者采纳
第3个回答  2010-06-18
这是编译器自动加上了,跟编译器有关系
第4个回答  2010-06-18
只有这两个函数可以不加头文件,其它必须加.
相似回答