主题:[原创]C++编程基础
[原创]一个菜鸟的疑惑:输入n个字符串,把其中以字母A打头的字符串输出。
以下是我用两种方法编的代码,出现了不同的错误,望各位大神指点,帮我看看其中的问题,十分感谢。。。
方法一:字符数组
#include <iostream>
using namespace std;
const int m=3,n=10;
int main()
{
char string[m][n];
int i;
cout<<"input"<<m<<"strings:"<<endl;
for(i=0;i<m;i++)
cin>>string[i]>>' ';
for(i=0;i<m;i++)
{
if(string[i][0]=='A') cout<<string[i]<<'\n';
}
cout<<endl;
return 0;
}
编译出现的错误是:
桌面\5A15F1\5A15F1.CPP(10) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'const char' (or there is no acceptable conversion)
Error executing cl.exe.
5A15F1.exe - 1 error(s), 0 warning(s)
方法二:字符串数组
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
const int n=3;
int main()
{
cout<<"input"<<n<<"strings"<<endl;
string str[n];
char str1[1];
int i;
for(i=0;i<n;i++)
cin>>str[i];
for(i=0;i<n;i++)
{
strcpy(str1,str[i],1);
if(str1[0]=='A') cout<<str[i]<<'\n';
}
cout<<endl;
return 0;
}
error C2660: 'strcpy' : function does not take 3 parameters
Error executing cl.exe.
5A15.OBJ - 1 error(s), 0 warning(s)
以下是我用两种方法编的代码,出现了不同的错误,望各位大神指点,帮我看看其中的问题,十分感谢。。。
方法一:字符数组
#include <iostream>
using namespace std;
const int m=3,n=10;
int main()
{
char string[m][n];
int i;
cout<<"input"<<m<<"strings:"<<endl;
for(i=0;i<m;i++)
cin>>string[i]>>' ';
for(i=0;i<m;i++)
{
if(string[i][0]=='A') cout<<string[i]<<'\n';
}
cout<<endl;
return 0;
}
编译出现的错误是:
桌面\5A15F1\5A15F1.CPP(10) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'const char' (or there is no acceptable conversion)
Error executing cl.exe.
5A15F1.exe - 1 error(s), 0 warning(s)
方法二:字符串数组
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
const int n=3;
int main()
{
cout<<"input"<<n<<"strings"<<endl;
string str[n];
char str1[1];
int i;
for(i=0;i<n;i++)
cin>>str[i];
for(i=0;i<n;i++)
{
strcpy(str1,str[i],1);
if(str1[0]=='A') cout<<str[i]<<'\n';
}
cout<<endl;
return 0;
}
error C2660: 'strcpy' : function does not take 3 parameters
Error executing cl.exe.
5A15.OBJ - 1 error(s), 0 warning(s)