계속 나쁜 포인터가 나타납니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까?문자열 배열에있는 문자열을 검색하십시오.
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 문자 (2 차원으로 지정한 문자)를 저장할 수 있습니다. 당신은'char str [] [4] = { "mov", "cmp", ...}; 그리고 if (SearchString (str, "word", sizeof str/sizeof * str) == -1)/* ... * /;' – pmg