c - 在字符串数组中搜索字符串

标签 c ansi

我不断收到不好的指点。谁能告诉我我做错了什么?

int SearchString( char* arr[], char* key, int size )
{
int n;
for ( n = 0; n < size; ++n ) {
    if ( strcmp(arr[n], key) ) { 
        return n;
    } 
} 
return -1;

}

char str[][16] = { "mov","cmp","add","sub","lea","not","clr","inc","dec","jmp","bne","red","jrn","psr","rts","stop"};

    if(SearchString(str,"word",16) == -1){  return FALSE;}

最佳答案

无法分辨您的 源自何处。您可能想要 if (!strcmp(arr[n],key)) return n;(相反)。而且数组的类型可能不是你想要的。尝试

const char *str[] = { "mov",.... };

相反。您有一组字符数组,并将其传递到您实际期望的指针数组的位置。

关于c - 在字符串数组中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8848940/

相关文章:

c - malloc 不确定性行为

c - 如何在C中以随机生成的0和1的概率生成mxn矩阵

c - C骑士团之旅数量

C - 在 sscanf() 中使用空格

c - "*pointer++"和 "(*pointer)++"有什么区别?

c - 无法在 c 函数中返回正确的变量

用 C 创建第二个进程

Java- 从 unicode 转换为 ANSI

c - ANSI C 和 C99 文字前缀和后缀列表

memory - 字符串的连续赋值会导致内存泄漏吗?