我正在使用visual studio 2012,但每当我使用getline函数时,没有暂停,甚至它旁边的循环也没有运行。
这是我的代码:
#include<iostream>
#include<stdio.h>
void check_a()
{
char a [50];
int i =0 , ca=0;
cout <<"Enter a phrase";
cin.getline (a,49);
while (a [i]!='\0'){
if(a [i]=='a')
a++;
i++;
}
cout <<"Letter \'a\' occurs "<<a <<" times in this phrase";
}
int main()
{
check_a ();
return 0;
}
输出
Enter a phraseLetter 'a' occurs 0 times in this phrase
任何修正或替代方案?
答案 0 :(得分:1)
我多次遇到这个问题,我发现通常要解决这个问题,你只需要把它放在:
cin.clear();
cin.sync();
在getline()之前;
答案 1 :(得分:0)
getline
工作正常。
将a++;
替换为ca++;
以获得正确的输出。
变量ca
是你想要的反击。