为了账号安全,请及时绑定邮箱和手机立即绑定

C语言中printf函数的代码

C语言中printf函数的代码

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

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

这是...的GNU版本,printf您可以看到它传递stdout给vfprintf:


__printf (const char *format, ...)

{

   va_list arg;

   int done;


   va_start (arg, format);

   done = vfprintf (stdout, format, arg);

   va_end (arg);


   return done;

}

看这里。


这里有一个链接到vfprintf...所有格式“神奇”发生在这里。


这些函数唯一真正“不同”的地方是它们使用varargs获取可变长度参数列表中的参数。除此之外,它们只是传统的C语言。(这与Pascal的printf等效语言形成了鲜明对比,后者在编译器中提供了特定的支持,至少在今天已经实现了。)


查看完整回答
反对 回复 2019-10-17
  • 1 回答
  • 0 关注
  • 677 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信