永发信息网

scanf和getchar的区别

答案:6  悬赏:60  手机版
解决时间 2021-04-01 22:39
  • 提问者网友:谁的错
  • 2021-04-01 03:28
scanf和getchar的区别
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-04-01 03:54
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);

这样你可以输入很多字符后再按回车.
不用一个个按回输出,还是全部一起输出到屏幕.
全部回答
  • 1楼网友:渡鹤影
  • 2021-04-01 05:50
scanf可以一次根据你的设定接受多个字符或数组,而getchar只能接收一个字符,如果输入多个字符,只接收第一个字符
  • 2楼网友:神鬼未生
  • 2021-04-01 05:35
getchar()函数可以从键盘上输入一个字符,使所输入的字符会立即显示出来,并且当按下回车后,这个字符才会被变量接收.
scanf()函数的作用是在终端上输入一个或多个指定的任意类型的数据.
getchar()只可以输出字符,而scanf()可以输出指定的任意类型数据.
  • 3楼网友:风格不统一
  • 2021-04-01 05:01
getchar()是字符输入函数
它没有参数,其作用是从终端(或系统指定的输入设备)输入一个字符。
注意:它只能输入一个字符。如果你输入多个字符,它只接受第一个字符。
scanf()是格式输入函数
它有参数,其一般形式是scanf(格式控制,地址列表),其格式字符一般有d,u,o,x,c,s,f,e,g等~也就是说scanf()规定了你要输入的数据类型。比如
scanf("%d%c\n",&a,&b)那么你必须输入一个整型数据,它的值会赋给a,一个字符型数据付给b。
  • 4楼网友:纵马山川剑自提
  • 2021-04-01 04:42
scan可以输入以连串字符,getchar只能接收一个字符,例如:
scan("%s",&n)和getchar(n),输入“china”,
scan中的n=china,getchar中的n=c,这就是区别。
  • 5楼网友:轻雾山林
  • 2021-04-01 04:30
scanf是个很危险的函数,看百度里这么多人在scanf,不禁为中国的C语言爱好者感到无限的惋惜
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯