在实际运用过程中,getchar()函数常用来作为字符数组输入的终止判断,本人总结了一下在使用过程中出现的错误和最后的解决方案,总的来说就是对于getchar()这个函数的理解不够,下面我们来解决这些问题。
一、getchar()函数:
getchar()函数在循环结构中使用时,并不像定义中所说以单个字符为单位读取,只有在我们按下“Enter”键(即换行符)之后,才一次性全部读出。即getchar()常以行为单位读取。
二、在while循环中的常规情况:
话不多说,直接上代码:
int main()
{
char c,a[max];
int i=0,j;
//c=getchar();//若这样写,第一个输入的字符将不会存入数组a中
std::cout<<"输入:";
while((c=getchar())!='\n')
{
a[i]=c;
i++;
}
std::cout<<"输出:";
for(j=0;j<i;j++)
{
std::cout<<a[j];
}
std::cout<<std::endl;
std::cout<<"i="<<i<<std::endl;
return 0;
}
运行结果如下:
总结一下,getchar()运用到循环体中作为输入众知判断条件时,代码段写法很多,这应该是最简单的一种,而且是最不容易出错的一种。个人建议就是:在自己对基本原理不够充分了解的时候,就少整一些“花活”,理解并记忆优秀的代码段是成长最快的途径。