我需要一个参数来比较阵列比较的argv [1] [I]数组C++
一些能告诉我,为什么这部分代码是错误的
{
for(int i=0;i<strlen(argv[3]);i++)
if(strcmp((argv[3][i]),"c")==0){
cout<<"C"<<endl;
return (0);
}
感谢.....
我需要一个参数来比较阵列比较的argv [1] [I]数组C++
一些能告诉我,为什么这部分代码是错误的
{
for(int i=0;i<strlen(argv[3]);i++)
if(strcmp((argv[3][i]),"c")==0){
cout<<"C"<<endl;
return (0);
}
感谢.....
if(strcmp((argv[3][i]),"c")==0)
这条线是错误的。
argv [3] [i]是一个字符,而不是一个字符串。你可能想要:
if(argv[3][i]=='c')
尝试过,但也没有工作 – 2013-04-09 08:56:40
当试过你说什么“它说操作数类型是不兼容的“ – 2013-04-09 09:10:19
@AshFernando:你是否尝试完全按照它出现在这里,''c''用单引号表示字符文字,而不是''c”'用双引号表示字符串文字? (我假设'argv'具有作为main的第二个参数传递的字符串数组的常规含义;如果它是别的东西,那么你需要告诉我们它是什么)。 – 2013-04-09 09:14:09
我希望这是你想尝试。
for(int i=0;i<strlen(argv[3]);i++)
{
if(argv[3][i]=='c')
{
cout<<"\n found c";
}
}
ya但它不会运行 – 2013-04-09 09:06:16
'strcmp'比较了字符串,而不是字符。你想'=='来比较字符。 – 2013-04-09 09:14:57
更正了比较... – shivakumar 2013-04-09 09:29:39
不客气。 – DevSolar 2013-04-09 08:51:01
可怕的格式化,你甚至没有解释什么是“错误”或是什么。 – Marlon 2013-04-09 08:51:14
argv的类型是什么?那么argv [3] [i]的类型是什么? strcmp期待什么类型? – 2013-04-09 08:52:45