C语言里printf与putchar有什么区别啊

适用范围之类的

一、功能不同

1、putchar:是把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。

2、printf:是式样化输出函数, 用于向准则输出设备按规定式样输出消息。

二、输出方式不同

1、putchar:输出可以是一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是用char定义好的一个字符型变量。

2、printf:从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的。


三、返回类型不同

1、putchar:该函数以无符号 char 强制转换为 int 的形式返回写入的字符。

2、printf:函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。


参考资料来源:百度百科-putchar

参考资料来源:百度百科-printf()

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10

printf是标准输出函数,可以输出char型、int型、float型、double型等数据。

putchar是字符输出函数,只能输出字符。


printf("%c", 'a');      // 输出字符
printf("%s", “sadf”); // 输出字符串
printf("%d", 3);        // 输出int型数据
printf("%f", 3.14);     // 输出float型数据
printf("%lf", 3.14);    // 输出double型数据
putchar('a');  // putchar只能输出字符

第2个回答  2015-12-14
putchar('\n')只能用来输出一个字符'\n',不能添加其他的内容了
printf("\n");这里是双引号,不是单引号,用于输出'\n',但就这一个字符,结果是一样的,不过这个函数还能同时输出其他的内容,如printf("abc\n");同时输出。
第3个回答  2020-01-31
我们平时从键盘输入的字符都会存到缓存区里面,包括回车字符,getchar是从缓存区读入一个字符,用法是ch=getchar();如果想要去除缓存区里面的字符,那么就不用赋值,直接getchar();scanf并不针对于单个的字符处理,还可以读入数据和字符串,且scanf("%c",&ch)等价于ch=getchar();至于putchar(ch)则等价于printf("%c",ch);功能是输出一个字符,要输出的字符变量写在括号内,如果要输出的是字符常量比如说感叹号则要这样:putchar('!');希望可以帮到楼主
第4个回答  2013-04-13
都是输出函数,区别是putchar只能输出一个字符;printf能输出很多格式。本回答被提问者采纳
相似回答