C语言中,getchar()函数的使用事项

来源:互联网 发布:科技展软件 编辑:程序博客网 时间:2024/04/19 21:46

最近在用c语言写代码,经常使用getchar()函数,但感觉输出的结果和自己的预期不一样,最后发现是getchar()在使用的时候,忽略了一个重要的细节。现在把它写出来,供大家参考,也方便以后自己编写程序。

getchar()是从键盘中读取字符,它一次接受一个字符;如果一次敲的字符多于一个,包括回车字符,它会将剩下的字符存入缓存中,下次继续执行。

例如下面的代码所示:

#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){int seed,i;char c;seed = time(NULL);srand(seed);for (i =0;i<10;i++){printf("%d\n",rand());}printf("end!\n");while(1){c = getchar();if (c=='\n')printf("input is the key 'Enter'!");elseif (c=='y'){for (i =0;i<10;i++){printf("%d\n",rand());}printf("End!\n");}else{printf("Exit!\n");break;}}return 0;}

第一次输入:y和回车键;

显示10个随机数,并显示“Input is the key ‘Enter’!”

第二次输入:'yn'

输出是10个书技术,并显示“Exit”

这说明getchar()一次只读取一个输入,其它的输入会保存下来,之后执行的过程中会继续执行保存下来的字符。








0 0