代码
#include <string.h> #include <stdio.h> #include <stdlib.h> int myCompare (const void * a, const void * b ) { const char *pa = *(const char**)a; const char *pb = *(const char**)b; return strcmp(pa,pb); } int main() { int i; // const char *input[] = {"a","orange","apple","mobile","car"}; const char *input[1024]; input[0]="a"; input[1] = "orange"; input[2] = "apple"; input[3] = "apple"; input[4] = "mobile"; input[5] = "car"; int stringLen = sizeof(input) / sizeof(char *); qsort(input, stringLen, sizeof(char *), myCompare); for (i=0; i<stringLen; ++i) printf("%d: %s\n", i, input[i]); } 这段代码为什么会报 coredump
但是如果把input变成const char *input[] = {"a","orange","apple","mobile","car"};,那么就不会报错,求指点!!
