C++ 比较argv[1][i]数组C++;
我需要比较参数中的数组 有人能告诉我为什么这部分代码是错误的吗C++ 比较argv[1][i]数组C++;,c++,visual-studio,C++,Visual Studio,我需要比较参数中的数组 有人能告诉我为什么这部分代码是错误的吗 { for(int i=0;i<strlen(argv[3]);i++) if(strcmp((argv[3][i]),"c")==0){ cout<<"C"<<endl; return (0); } { 对于(int i=0;i 这条线错了 argv[3][i]是一个字符,而不是字符串。您可能需要: if(argv[3][i]=='c') 我希望这就
{
for(int i=0;i<strlen(argv[3]);i++)
if(strcmp((argv[3][i]),"c")==0){
cout<<"C"<<endl;
return (0);
}
{
对于(int i=0;i
这条线错了
argv[3][i]是一个字符,而不是字符串。您可能需要:
if(argv[3][i]=='c')
我希望这就是你想要尝试的
for(int i=0;i<strlen(argv[3]);i++)
{
if(argv[3][i]=='c')
{
cout<<"\n found c";
}
}
for(int i=0;i错误的格式,您甚至不解释“错误”是什么。argv的类型是什么?那么argv[3][i]的类型是什么?strcmp需要什么类型?argv[3][i]是字符串argv[3]中的数组就像kingsindian说的那样,它不应该工作,但有没有其他方法也尝试过,但没有工作当你尝试你说的“它说操作数类型不兼容”时@AshFernando:你是否完全按照这里显示的那样尝试过,'c'
用单引号表示字符文字,而不是“c”
用双引号表示字符串文字?(我假设argv
具有作为main
的第二个参数传递的字符串数组的常规含义;如果是其他内容,则需要告诉我们它是什么)。很抱歉,我使用了双引号和单引号。非常感谢strcmp
比较字符串,而不是字符。您希望==
比较字符。更正的比较。。。
for(int i=0;i<strlen(argv[3]);i++)
{
if(argv[3][i]=='c')
{
cout<<"\n found c";
}
}