1.getchar()
getchar()函数返回用户从键盘输入的第一个字符,使用时不带有任何参数。
程序运行到这个命令就会暂停,等待用户从键盘输入,等同于使用scanf()方法读取一个字符。
它的原型定义在源文件stdio.h。
1 #include<stdio.h>
2 int main()
3 {
4 int ch;
5 ch=getchar();
6 //等同于scanf("%c",&ch);
7 return 0;
8 }
getchar()不会忽略起首的空白字符,总是返回当前读取的第一个字符,无论是否为空格。
如果读取失败,返回常量EOF,由于EOF通常是-1,所以返回值的类型要设为int ,而不是char。
由于getchar()读取返回的字符,所以可以用在循环条件之中。
1 #include<stdio.h>
2 int main()
3 {
4 while(getchar() !='\n');
5 ;
6 //...
7 return 0;
8 }
上面的示例中,只有读到的字符等于换行符(\n),才会退出循环,常用来跳过某行。
while循环的循环体没有任何语句,表示对该行不执行任何操作。
下面的例子是统计某一行的字符长度。
1 #include<stdio.h>
2 int main()
3 {
4 int len=0;
5 while(getchar() !='\n');
6 len++;
7 return 0;
8 }
上面示例中,getchar()每读取一个字符,长度变量len就会加1,直到读取到换行符为止,这时len就是该行的字符长度。
下面的例子是跳过空格字符。
1 #include<stdio.h>
2 int main()
3 {
4 int ch=0;
5 while((ch=getchar() ) ==' ')
6 ;
7 return 0;
8 }
上面示例中,结束循环后,变量ch等于第一个非空格字符。
2.putchar()
putchar()函数将它的参数字符输入到屏幕,等同于使用printf()输出一个字符。它的原型定义在头文件stdio.h。
1 #include<stdio.h>
2 int main()
3 {
4int ch=0;
5 ch=getchar();
6 putchar(ch)//等同于printf("%c",ch);
7 return 0;
8 }
操作成功时,printf()返回输出的字符,否则返回常量EOF。
3.总结
在接受单个字符或打印单个字符的时候,可以使用getchar和putchar。
完