我们平时从键盘输入的字符都会存到缓存区里面,包括回车字符,getchar是从缓存区读入一个字符,用法是ch=getchar();如果想要去除缓存区里面的字符,那么就不用赋值,直接getchar();scanf并不针对于单个的字符处理,还可以读入数据和字符串,且scanf("%c",&ch)等价于ch=getchar();至于putchar(ch)则等价于printf("%c",ch);功能是输出一个字符,要输出的字符变量写在括号内,如果要输出的是字符常量比如说感叹号则要这样:putchar(‘!‘);希望可以帮到楼主
与scanf的区别: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);
这样你可以输入很多字符后再按回车.
不用一个个按回输出,还是全部一起输出到屏幕.
putchar()函数
putchar()函数是向标准输出设备输出一个字符,其调用格式为:putchar(ch);
其中ch为一个字符变量或常量。
putchar()函数的作用等同于printf("%c", ch);
例6:
#include<stdio.h>
main()
{
char c: /*定义字符变量*/
c=‘B‘; /*给字符变量赋值*/
putchar(c); /*输出该字符*/
putchar(‘\x42‘); /*输出字母B*/
putchar(0x42); /*直接用ASCII码值输出字母B*/
}