getchar():从输入流中读取一个字符,读至回车符。过程: 输入设备(enter后)->内存缓冲区(为队列)->getchar()
用法:
(1)清空回车符
scanf("%d",&gh[i]);
getchar();
printf("请输入姓名:");
gets(gName[i]);
scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完数组的值后按回车键所致),加入getchar()来取走'\n',以避免gets()读取'\n'。
(2)造成程序的暂停,便于在某些编译器上查看结果
注意事项:
1.getchar()并非从键盘直接获取,而是从输入缓存区中获取所有回车符前的字符。这可能造成第二次getchar()时获取到'\n',故需要加入fflush(stdin)来清除输入缓冲区。
2.如果输入多个字符,getchar()也只返回第一个字符的值。