开发者社区> 问答> 正文

C语言中printf实现的猜测

在如下代码中:

#include<stdio.h>
main(int argc , char const* argv){
    char *ch = "HelloWorld";
    printf("%s\n",ch);
    printf("%s\n",ch+1);    
}
运行结果为:

HelloWorld
helloWorld

因此我推断:printf()在打印字符串时,当传入参数:指向字符串某个字符的地址时,该函数将一直打印后续的字符串,直到'0'字符串的出现为止。
不知道我得判断是否正确,我在Ubuntu下查到的/usr/include/stdio.h 的源码,但是只是看到了

extern int printf(char , char ,....);
不知道具体在哪里实现的,求解,求指导。

展开
收起
a123456678 2016-06-02 21:35:14 2086 0
1 条回答
写回答
取消 提交回答
  • void
    __printf (const char *format,
              void (*output) (char, void *), void *aux, ...) 
    {
      va_list args;
    
      va_start (args, aux);
      __vprintf (format, args, output, aux);
      va_end (args);
    }
    2019-07-17 19:25:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载