printf如何发送字符串的呢?

2019-07-21 08:39发布

重定向这个函数看起来只是发送一个字节,printf经常参数是一个“字符串”。中间做了什么工作呢?我理解的:
1、字符串作为参数其实是传递了字符串的首地址,保存着第一个字符的地址,是这样吧?
2、在printf中有一个循环吗?对每个字节地址都调用一次fputc,请问是这个意思吗?

int fputc(int ch, FILE *f){      
        while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
    USART1->DR = (u8) ch;      
        return ch;
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。