1.getchar 作用是从键盘读入字符,每次只读取一个,一次读入。只有当遇到回车键时才会结束读取。且getchar有类型,为int型,所以getchar的输入一般为int类型。
2.scanf的作用是输入单个字符。但是当scanf遇到空格时就结束读取,不能输入\n。尽管后面还有其他字符。如果要输入长字符,需要用到%s这个格式控制符。
在用函数scanf()输入数值型数据时遇到以下几种情况都认为数据输入结束:
1、遇到空格符、回车符、制表符(tab);
2、达到输入域宽;
3、遇到非法字符输入。
如以下例子:
如输入a的值为k,则当回车时输出字符为k。
#include<stdio.h>
int main ()
{
char a;
scanf("%c",&a);
printf("%c",a);
return 0;
}
再看,
若输入abc分别为kg(空格)h,则输出的结果为kg(空格)。
#include<stdio.h>
int main()
{
char a,b,c;
scanf("%c%c%c",&a&b&c);
printf("%c%c%c",a,b,c);
return 0;
}
对于getchar来说
#include<stdio.h>
int main()
{
char x;
while(x!='h')
{
x=getchar();
}
putchar(x);
return 0;
}
当输入gkh时,结果输出h。