我需要一個參數來比較陣列比較的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