printf
和命令是 C 语言的一部分是什么意思scanf
,因为它们不需要包含#include<stdio.h>
.
为什么其他人不是 C 语言的一部分?
实际上,不,它们不像您认为的那样是语言的一部分。如果您调用print("hello, %d", 5);
它,它将根据您提供的参数创建一个隐式声明,并且返回类型将为int
.
幸运的是,有一个匹配项,libc
其中隐式链接到您的程序,并且链接器将能够链接您的源文件和printf
.
(print f)和(scan f)命令是c语言的一部分是什么意思
它们不是“命令”,而是函数,它们也不是语言的一部分。
他们不需要包含#include
他们是这样。他们比其他人更需要标题/声明,因为它们是可变的。不为他们提供原型将很快导致未定义的行为。
为什么别人不成为c语言的一部分
同样,这些不是语言的一部分,因为……因为它们不是语言的一部分。它们是独立的函数,对 C 程序的核心语法和语义没有贡献。它们不包含在 C 的上下文无关文法中。不过,C 标准确实描述了它们——因为它们是C 标准库的一部分。
在某些 IDE 中,可能在编辑源代码时使用了printf
&scanf
而没有下划线为假,因为索引器知道这些函数存在。但是您将无法编译它。包含不是可选的,因为编译器本身不知道 printf 或 scanf。
printf
并且scanf
不是语法的一部分,但它们是语言的一部分,因为它们位于语言定义所指定的标准库中。不过,您确实需要包含stdio.h
才能正确使用它们。