scanf和getchar的区别

都是接受用户的输入他俩有什么不同?... 都是接受用户的输入 他俩有什么不同? 展开
 我来答
写在枫叶上的故事
推荐于2019-09-10 · TA获得超过2.6万个赞
知道答主
回答量:164
采纳率:0%
帮助的人:2.5万
展开全部

scanf和getchar的区别:

一、函数格式不同

scanf函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中。

getchar函数是键盘输入函数,其功能是从键盘上输入一个字符。

二、读取方式不同

scanf函数在读取数字时会跳过空格、制表符和换行符。

getchar函数只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。

三、结束输入的方式不同

scanf函数以空格、Enter、Tab结束一次输入,不接受空格符。

getchar函数以Enter结束输入(空格不结束),接受空格符。

四、舍弃回车符的方法不同

scanf函数以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中)。

getchar函数以Enter结束输入时,接受空格,会舍弃最后的回车符。

四海为家的鱼
2008-08-06 · TA获得超过186个赞
知道答主
回答量:91
采纳率:0%
帮助的人:0
展开全部
getchar()是字符输入函数
它没有参数,其作用是从终端(或系统指定的输入设备)输入一个字符。
注意:它只能输入一个字符。如果你输入多个字符,它只接受第一个字符。
scanf()是格式输入函数
它有参数,其一般形式是scanf(格式控制,地址列表),其格式字符一般有d,u,o,x,c,s,f,e,g等~也就是说scanf()规定了你要输入的数据类型。比如
scanf("%d%c\n",&a,&b)那么你必须输入一个整型数据,它的值会赋给a,一个字符型数据付给b。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ryw12403
推荐于2017-09-08 · TA获得超过1899个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2095万
展开全部
scanf可以一次按照设定的输入格式输入多个变量数据.如
int d,
float f,
char str[20],
scanf("%d%f%s",d,f,str);

getchar()只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符.

如char ch;
ch=getchar();输入abc\r(回车)
ch=a;
用在循环时也要等有回车键时才接收.

char ch;
while((ch=getchar())!='q'){
printf("%c ",ch);

这样你可以输入很多字符后再按回车.
不用一个个按回输出,还是全部一起输出到屏幕.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d676cf364
2008-08-06 · TA获得超过191个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:138万
展开全部
scanf可以一次根据你的设定接受多个字符或数组,而getchar只能接收一个字符,如果输入多个字符,只接收第一个字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
3death3
2008-08-06 · 超过14用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
scan可以输入以连串字符,getchar只能接收一个字符,例如:
scan("%s",&n)和getchar(n),输入“china”,
scan中的n=china,getchar中的n=c,这就是区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式