我不断收到坏指针。谁能告诉我我做错了什么?搜索字符串数组中的字符串
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;}
你的'str'是一个由16个字符串组成的数组(编译器自动创建了16个),每个字符串可以包含15 + 1个字符(指定为第二维)。你可以用'char str [] [4] = {“mov”,“cmp”,...};'if'(strString(str,“word”,sizeof str/sizeof * str) == -1)/ * ... * /;' – pmg 2012-01-13 10:23:32