【发布时间】:2010-10-19 12:19:19
【问题描述】:
好的,我必须编写一个接受 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' 的 arg 2 会使指针从整数而不进行强制转换。
这是什么意思?
【问题讨论】:
-
有人可以编辑它以使其更具可读性吗?我的代表太低了,不能自己做:(
标签: string pointers arguments iteration