C语言里面为什么设置了getchar putchar 不是有printf scanf吗

我觉得getchar putchar的功能用printf scanf就可以实现了 那他们有什么们用呢
看的我有点晕 有高手帮忙解决一下吗

唯一的原因就是因为它们简单,使用简单,实现也简单(比如printf还要分析格式字符串),所以在做性能关键的程序时就不能用printf和scanf来代替它们了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-08-16
他们是有区别的 我来说一下.
1.getchar putchar是只能用来输出字符,这与printf和scanf不同.printf和scanf既可以输出字符又可以输入输出其他类型的数据.
2.getchar putchar每次只能输入输出一个字符.
当你只有一个字符要输入或输出的话可以考虑用getchar putchar,因为他的格式相对printf和scanf要简单一些.
下面举一个例子:要求输入”girl”并输出.
#include<stdio.h>
main()
{
char a,b,c,d;
a=getchar();b=getchar();c=getchar();d=getchar;
putchar(a);putchar(b);putchar(c);putchar(d);
}

C语言 这个程序为什么要加getchar() 前面有scanf了啊
加getchar(); 的目的是吸收掉前面执行scanf("%c",&a); 时遗留在输入缓冲区里的'\\n',以免后面还有某些输入语句时由遗留在输入缓冲区里的'\\n'引起错误。在这段代码中,后面已经没有输入语句了,所以有没有getchar();都可以。

c语言中getchar和scanf以及putchar和printf的区别!
getchar(字符输入函数),它的作用只是从终端输入一个字符,没有参数,函数的值就是从输入设备中得到的字符;puhchar()同理,也只能向终端输出一个字符;如:include <stdio.h> main(){ char c;c=getchar();putchar(c);} 运行结果:a 回车 a scanf()和prinf()是格式输入\/输出函数,其参数是...

请麻烦讲解一下c语言中的gets putchar printf scanf 的区别,谢谢_百度...
gets函数用来在缓冲区读取字符串,而putchar和getchar分别是对一个字符进行的输出和输入。printf函数的参数的长度没有限制,可以以多种格式,不限制长度地输出,scanf函数也同样可以以多种格式从缓冲区读取用户的输入,可以是多个、也可以是单个,可以是字符,也可以是字符串。总之get函数和putchar getchar...

c语言中getchar和scanf以及putchar和printf的区别!
【getchar】:从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。【scanf】:接收从键盘输入的多个字符,并保存在对应地址的变量中。变量可以指定不同的类型。【putchar】:向终端输出一个字符。其格式为putchar(c),其中c可以是被单引号(英文状态下)引起来的...

c语言scanf输入字符串为何要加getchar
第一个scanf读入字符串后,换行符留在输入缓冲区中,被第二个scanf读入(scanf的格式字符串为%c时会读取一切字符包括换行和回车),因而造成错误。可在第一个scanf结束后加入一行while(getchar()!='\\n');清空输入缓冲区。

C语言中,putchar函数与printf函数,getchar函数与scanf函数在用法上...
直接getchar();scanf并不针对于单个的字符处理,还可以读入数据和字符串,且scanf("%c",&ch)等价于ch=getchar();至于putchar(ch)则等价于printf("%c",ch);功能是输出一个字符,要输出的字符变量写在括号内,如果要输出的是字符常量比如说感叹号则要这样:putchar('!');希望可以帮到楼主 ...

C语言:字符串输入与输出相关问题
getchar和putchar都是对字符操作的,而不是字符串,所以需要设计循环为字符串中每一个字符赋值。以下是示例代码,需要说明的一点是gets输入字符串对于字符串长度没有限制,可能导致越界溢出,不安全,建议改用fgets,另外在新的微软标准中gets函数已被gets_s函数代替,希望对你有帮助。include<stdio.h>int...

c语言关于getchar和putchar的问题
要是想连续输入10个数并把这10个数输出的话,要用数组,然后循环输入循环输出,就和你那是差不多的,只是scanf()用过一个循环,printf()用一个循环,最好不用getchar(),不好操作,没有scanf好操作。

结合if putchar getchar等谈谈对c语言学习的看法
C语言中的getchar, scanf, putchar, printf学习 [摘要:输进战输出功效并非C说话自身的构成局部,他们属于规范库局限,应用输进输出相干函数是必需写:#includestdio.h 。文件名用尖括号括起去时,预处置惩罚器将到特定地位查找而没有是正在工]输入和输出功能并不是C语言本身的组成部分,他们属于标准...

关于C语言中的scanf()和getchar()
而输入函数直接从输入缓冲区中取数据。正因为输入函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,输入函数会直接取得这些残留数据而不会请求键盘输入,这就是原因。scanf("%d",&ch)不接收字符,因为在缓冲区里面,由后面的getchar()接收。

相似回答