C语言编程里没加"include <stdio.h>"怎么也可以执行printf语句呢

如题所述

第1个回答  2006-12-09
C语言如果只用到了printf语句的话 可以不用加include<stdio.h>只要你在前面加了 main()就可以了`~~本回答被提问者采纳
第2个回答  2006-12-09
那要看你用什么开发环境了,比如turbo c的话,你可以不写,因为在编译的时候turbo c会帮你加上去.有的不会,所以最好还是自己写,不管开发环境帮不帮你加都不会出问题,那样程序的可移植性也好.
第3个回答  2006-12-09
这个是内涵的,本来就有.
第4个回答  2006-12-09
早期的C语言并不要求对你所调用的函数进行声明,所有函数的调用都是由程序员自己保证调用正确性的。这种方式下虽然编译器不知道你调用的函数到底是哪个,但进行连接时可以由连接器找到这个函数的具体位置。但如果调用不正确,那么程序就危险了。
后来C在90年标准化后,要求对所有调用的函数都进行其原型声明,这是从C++中借鉴过来的。
C语言中说,不指明类型就默认为int,而不指明函数参数就是随便什么参数。这对printf来说还算合适。
但对符合C标准的程序来说,还是要提供声明以便进行调用的语法检查才好。stdio.h中包含了printf函数的声明。现代C语言实现都要求原型声明。但TC太老了,它主要还是要考虑与更古老的C语言兼容的问题。所以你这样也可以。

C语言编程里没加"include <stdio.h>"怎么也可以执行printf语句呢
C语言如果只用到了printf语句的话 可以不用加include<stdio.h>只要你在前面加了 main()就可以了`~~

这里开头没有#include <stdio.h>为什么printf在这里可以运行不会显示错...
这个是编译器的事,因为这个头文件太常用了,如stdio.h stdlib.h等,很多老编译器会自动包含,比如VC6,其他编译器就会报错了,还是按照正常的规范,手动包含一下,养成好习惯

c语言中怎么有时候不加#include<stdio.h>的头文件也可以用printf(),sc...
什么时候都不可以,只要用到这些函数,就应该包含这个头文件,不包含这个头文件而使用这些函数是一个非常不好的编程习惯,会导致你的程序不可移植(支持这个特性的编译系统很少,目前只有TC2以及用TC2作为编译器的一些IDE有这个特性,而且都不标准,如果你将这样的代码移植到其它的编译系统上,会有很多错误...

C程序里开头不加#include <stdio.h>,出来的结果一样的、
如果您编程时 没有用到外部函数,则无需加#include,如putchar(),getchar()等就属于外部函数。若要使用 则必须 在程序开头写 “#include <stdio.h>”来添加头文件。 内部库函数,如 printf() scanf()等,可以直接使用,而不需要用#include 添加头文件。希望采纳 ...

为什么printf不进行文件stdio.h的包含也能调用
有一些的编译器已经将常用的输入输出函数嵌入c语言中了,例如,用vc编译器编译c代码时,不用声明标准输入输出stdio.h就可以使用printf、scanf等库函数

...他用到了输出函数,但开头没有#include<stdio.h>,这样子是可以...
不可以的,因为每个程序都有所以书上省略了,

怎么开头没有include"stdio.h"也能执行?
当然 stdio.h这个是标准的头文件,不必指明

c语言中开头不用#include <stdio.h>,而直接输main()可以吗?
应该不行 因为那是系统自带的 要不你试试不用#include <stdio.h>,而直接输main()如果不行就不行 反之。。。我是学.NET的 有问题可以问我哈 谢啦

#include<stdio.h>是什么意思??不加这段为啥不对??
表示你调用了<stdio.h>头文件里的函数(标准输入输出函数库),相当于你声明你所用的函数在哪些函数库里面!那么编译器能在这个头文件里面找到scanf(); printf();getchar();函数的相关信息!如果不加,编译器就不知道你的scanf(); printf();getchar();是哪里来的!当然,对于TC,如果你只用了scanf...

编写C语言程序时必须有#include<stdio.h>这一行吗
不一定。如果你不需要标准输入输出,就可以不加stdio.h 不过 一般代码都需要用到至少printf或者scanf一类的标准输入输出,或者文件操作什么的。所以导致stdio.h几乎每个文件都有。

相似回答
大家正在搜