putchar和printf的区别?
一、putchar和printf的区别
1. 从编程者层面来说
printf 可以输出一个任意的字符串,还可以有参数,而putchar只能输出一个字符。
printf 的返回值是正常输出的参数的数量,而 putchar 则是是否正常输出。
putchar:是把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。
printf:是式样化输出函数, 用于向准则输出设备按规定式样输出消息。
输出方式不同
putchar:输出可以是一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是用char定义好的一个字符型变量。
printf:从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的。
putchar:该函数以无符号 char 强制转换为 int 的形式返回写入的字符。
printf:函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
2. 从底层来说
printf 的时间复杂度是 NlogN , 而 putchar 复杂度是 O1 , 输出句子也只有 ON 。
此外,printf 每执行一次,解析一次格式串,而putchar是编译时尽量优化。
简言之:printf功能更强大 可以输出各种格式。putchar只能输出单个字符。因为字符的处理很特殊,所以专门有对字符的处理,如 putchar ,getchar 之类的。
延伸阅读:
二、putchar程序示例
示例1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include |
示例2
1 2 3 4 5 6 7 8 9 10 11 | #include |
1 2 3 4 5 | 输出结果为: TMD T M D |

相关推荐HOT
更多>>
javaoa系统有哪些模块?
一、权限管理模块权限管理模块是Java OA系统的核心模块之一,也是整个系统的基础。该模块通过对系统用户进行身份验证、权限分配、访问控制等管...详情>>
2023-10-19 22:07:20
为什么Python里的True和False两个布尔值首字母要大写?
一、Python里的True和False两个布尔值首字母要大写的原因Python中的True和False是布尔类型的常量,它们的首字母需要大写,是为了表示它们是关键...详情>>
2023-10-19 17:09:29
物联网感知技术有哪些?
一、物联网感知技术物联网感知技术是指用于获取物理世界中的各种信息,并将其转换为数字信号的技术。物联网感知技术是物联网的基础,它使物联网...详情>>
2023-10-19 16:39:59
语雀如何管理项目需求?
一、语雀管理项目需求1. 产品和研发协同撰写需求文档文档一键分享给同事,项目组成员可随时查看、评论或协同编写,保证信息随时同步并及时获得...详情>>
2023-10-19 15:43:54