大家都知道getchar()可以让屏幕停住,但有时为了停住需要很多个getchar(),不希望大家在编程的时候为了让控制台屏幕停住而是用死循环的思想,这虽然能够让屏幕停住,但很不好,平时自己调试的时候为了方便还是可以的。在说getchar()之前,我们先了解下system("pause"),要使用它必须在开头包含头文件:#include<stdlib.h>头文件。
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ch;
printf("请输入一个字符串:\n");
ch=getchar();
printf("%c\n",ch);
system("pause");
return 0;
}
getchar();不需要传入任何参数,它直接把键盘的输入拦截下来,储存在相应的变量中(本例是ch),虽然getchar()只能读取一个字符,但是它有一点是scanf()比不了的,它不但能够读取字符,还能读取任意标点符号,如果处理的好,就能连续输出。原型:int getchar(void);它的返回值怎么是个int 呢?C/C++的世界里要学会见怪不怪,他既然返回值是个int ,我们不妨将ch改成int,看看他返回的是什么:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int ch;
printf("请输入一个字符串:\n");
ch=getchar();
putchar(ch);
putchar("\n");
//printf("%c\n",ch);
system("pause");
return 0;
}
并没有多大的影响。
那么回来,getchar()怎么能够读取字符串呢?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int ch;
printf("请输入一个字符串:\n");
while((ch=getchar())!='\n')
putchar(ch);
putchar("\n");
system("pause");
return 0;
}