C语言中printf实现的猜测-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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 1794 0
1 条回答
写回答
取消 提交回答
  • a123456678
    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
    赞同 展开评论 打赏
问答分类:
相关产品:
问答排行榜
最热
最新
相关课程
更多
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载