bsearch Problem
-
Ich hab ein Problem. Die Sortierung und Suche haut so nicht hin:
#define ANZ_ELM 5 char *strtbl[ANZ_ELM] = { "C", "Is a very", "Powerful", "Language. And it makes fun!", "It's also" }; ... int vergleich_str(const void *wert1, const void *wert2) { return strcmp(*(char **)wert1, *(char **)wert2); } ... int main(void) { .... qsort(strtbl, ANZ_ELM, sizeof(char *), vergleich_str); strptr = (char *)bsearch(muster_str, strtbl, ANZ_ELM, sizeof(char *), vergleich_str); ..... }
Es kommt zu einem Programmabsturz. Kann mir jemand bitte helfen?
-
glaub das problem liegt in der vergleich_str versuchs mal so
int vergleich_str(const void *wert1, const void *wert2) { return strcmp((char *)wert1,(char *)wert2); }
-
Karl123 schrieb:
Kann mir jemand bitte helfen?
Ja.
#define ANZ_ELM 5 char strtbl[ANZ_ELM][100] = { "C", "Is a very", "Powerful", "Language. And it makes fun!", "It's also" }; int main(void) { .... qsort(strtbl, ANZ_ELM, sizeof*strtbl, strcmp); puts(bsearch("Powerful", strtbl, ANZ_ELM, sizeof*strtbl, strcmp)); .... }