C语言中printf函数的代码

我想知道在哪里可以找到使用的C代码,以便在编写printf(“ Hello World!”); 在我的C程序中知道它必须将该字符串打印到STDOUT。我查看了<stdio.h>,但是在那里我只能找到它的原型int printf(const char * format,...),但是找不到它的内部外观。



FFIVE
浏览 681回答 1
1回答

达令说

这是...的GNU版本,printf您可以看到它传递stdout给vfprintf:__printf (const char *format, ...){&nbsp; &nbsp;va_list arg;&nbsp; &nbsp;int done;&nbsp; &nbsp;va_start (arg, format);&nbsp; &nbsp;done = vfprintf (stdout, format, arg);&nbsp; &nbsp;va_end (arg);&nbsp; &nbsp;return done;}看这里。这里有一个链接到vfprintf...所有格式“神奇”发生在这里。这些函数唯一真正“不同”的地方是它们使用varargs获取可变长度参数列表中的参数。除此之外,它们只是传统的C语言。(这与Pascal的printf等效语言形成了鲜明对比,后者在编译器中提供了特定的支持,至少在今天已经实现了。)
打开App,查看更多内容
随时随地看视频慕课网APP