主题:[讨论]为什么和我想的不一样呢?输入3,它就输出了yes,等待高手提点
[code=c]
#include <iostream>
using namespace std;
char str[51];
bool judge()
{
if(isdigit(str[0]))
return false;
for(int i = 0;str[i]!='\0';++i)
if(str[i]!='_'&&!isdigit(str[i])&&!isalpha(str[i]))
return false;
cout<<"I am here\n";
return true;
}
int main()
{
int n;
while(cin>>n)
{
while(n--)
{
cin.getline(str, 51);
cout<<"here\n";
if(judge())
cout<<"yes\n";
else
cout<<"no\n";
}
}
return 0;
}
[/code]
为什么我输入一个3,它就输出了yes?
cin.getline()不需要等待输出吗?
高手指点啊,本人菜鸟的很
#include <iostream>
using namespace std;
char str[51];
bool judge()
{
if(isdigit(str[0]))
return false;
for(int i = 0;str[i]!='\0';++i)
if(str[i]!='_'&&!isdigit(str[i])&&!isalpha(str[i]))
return false;
cout<<"I am here\n";
return true;
}
int main()
{
int n;
while(cin>>n)
{
while(n--)
{
cin.getline(str, 51);
cout<<"here\n";
if(judge())
cout<<"yes\n";
else
cout<<"no\n";
}
}
return 0;
}
[/code]
为什么我输入一个3,它就输出了yes?
cin.getline()不需要等待输出吗?
高手指点啊,本人菜鸟的很