1
我即將中風,我無法弄清楚爲什麼此代碼無法工作。目標是爲字符串搜索字符串數組。如果找到正在搜索的字符串,則該方法返回true,否則返回false。不幸的是,我犯了一些錯誤,並且即將中風,因爲我無法弄清楚它是什麼。 printf只是爲了顯示數組正在迭代,非常感謝您的幫助。另外,for循環中的-1只是一些有用的東西,我不認爲它應該在那裏,但要注意當你把它拿出來時會發生什麼。另外,我想指出的是,由於我正在研究的部分,我聲明數組的方式是我需要的。將字符串與字符串數組進行比較的問題C
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool seachForString(char *firstString, int numberOfStrings, char *searchingFor);
int main(void){
bool found;
char *search = "Earth";
char *planets[] = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"};
found = seachForString(planets[0], 9, search);
printf("Found: %d\n", found);
return 0;
}
bool seachForString(char *firstString, int numberOfStrings, char *searchingFor){
char *stringInList = firstString;
for(int i=0; i<numberOfStrings-1; i++){
printf("%s\n", stringInList);
if(strcmp(stringInList, searchingFor) == 0){
return true;
}else{
while(*(stringInList++) != '\0');
}
}
return false;
}
爲什麼你有別的嗎?我認爲如果字符串stringInList指向的字符串不是我正在查找的字符串,那麼刪除它將使此工作 – Dani
需要它遍歷數組,如果字符串stringInList指向的字符串不是我正在查找的字符串,則指針需要遞增,直到它位於下一個字符中字符串 – holycatcrusher
@holycatcrusher:字符串不保證按順序分配。 – Dani