11个回答
展开全部
scanf和getchar的区别:
一、函数格式不同
scanf函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中。
getchar函数是键盘输入函数,其功能是从键盘上输入一个字符。
二、读取方式不同
scanf函数在读取数字时会跳过空格、制表符和换行符。
getchar函数只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。
三、结束输入的方式不同
scanf函数以空格、Enter、Tab结束一次输入,不接受空格符。
getchar函数以Enter结束输入(空格不结束),接受空格符。
四、舍弃回车符的方法不同
scanf函数以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中)。
getchar函数以Enter结束输入时,接受空格,会舍弃最后的回车符。
展开全部
getchar()是字符输入函数
它没有参数,其作用是从终端(或系统指定的输入设备)输入一个字符。
注意:它只能输入一个字符。如果你输入多个字符,它只接受第一个字符。
scanf()是格式输入函数
它有参数,其一般形式是scanf(格式控制,地址列表),其格式字符一般有d,u,o,x,c,s,f,e,g等~也就是说scanf()规定了你要输入的数据类型。比如
scanf("%d%c\n",&a,&b)那么你必须输入一个整型数据,它的值会赋给a,一个字符型数据付给b。
它没有参数,其作用是从终端(或系统指定的输入设备)输入一个字符。
注意:它只能输入一个字符。如果你输入多个字符,它只接受第一个字符。
scanf()是格式输入函数
它有参数,其一般形式是scanf(格式控制,地址列表),其格式字符一般有d,u,o,x,c,s,f,e,g等~也就是说scanf()规定了你要输入的数据类型。比如
scanf("%d%c\n",&a,&b)那么你必须输入一个整型数据,它的值会赋给a,一个字符型数据付给b。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
这样你可以输入很多字符后再按回车.
不用一个个按回输出,还是全部一起输出到屏幕.
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);
这样你可以输入很多字符后再按回车.
不用一个个按回输出,还是全部一起输出到屏幕.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf可以一次根据你的设定接受多个字符或数组,而getchar只能接收一个字符,如果输入多个字符,只接收第一个字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scan可以输入以连串字符,getchar只能接收一个字符,例如:
scan("%s",&n)和getchar(n),输入“china”,
scan中的n=china,getchar中的n=c,这就是区别。
scan("%s",&n)和getchar(n),输入“china”,
scan中的n=china,getchar中的n=c,这就是区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询