Хорошо, мне нужно написать программу, которая принимает 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);
}
}
Всякий раз, когда я запускаю программу через компилятор я получаю предупреждение: проходящее ARG 1 из «linear_search» от несовместимого типа указателя.
предупреждение: передача arg 2 из 'linear_search' делает указатель из целого без литого.
Что это значит?
Может кто-нибудь изменить это, чтобы сделать его более читаемым? мой представитель слишком мал, чтобы сделать это сам :( – Nathan
высоко оценил :) – Nathan