さて、2 つ以上の引数を受け入れ、2 番目以降の引数で一致する引数を検索するプログラムを作成する必要があります。
たとえば、出力は次のようになります。
./a 3 h 4 9 3
3 found
また
./a hsi and iash me 34 hsi
hsi found
これまでのところ、私はこれを持っていますが、この状況では役に立たないジャンクがたくさんあると確信しています. 提供されたヘルプは大歓迎です!:
int linear_search (const char*A[], char*x, int v ){
int i;
i = 0;
while ( i < v - 1){
if (A[i] == x){
return 1;
}
return 0;
}
}
int main (int argc, char*argv[]){
int size = argc - 1;
char*A[size];
char*x = argv [1];
int i;
int v = argc - 2;
i = 0;
while ( i < v ){
A[i] = argv [i + 1];
i = i +1;
}
if (linear_search (A, v, x)){
printf ("%s found\n", x);
} else {
printf ("%s not found\n", x);
}
}
コンパイラを介してプログラムを実行するたびに、互換性のないポインター型から 'linear_search' の arg 1 を渡していますという警告が表示されます。
警告: 'linear_search' の引数 2 を渡すと、キャストなしで整数からポインターが作成されます。
どういう意味ですか?