关于qsort字符串数组排序的问题
编译通过,运行后排序不正确,求解救代码:
程序代码:#include <iostream>
#include <string>
int cmp(const void *a, const void *b);
using namespace std;
int main()
{
int b;
cin >> b;//输入字符串个数
string a[1000];
for (int n = 0; n < b; n++){
cin >> a[n];
}
qsort(a, b, sizeof(a[0]), cmp);
for (int n = 0; n < b; n++){
cout << a[n] << endl;
}
return 0;
}
int cmp(const void *a, const void *b) {
return (strcmp((char *)a, (char *)b));
}运行输入:
6
asdfghjk
aaaaa
zxcvbn
zaaaaa
bczzzz
bbbbbb
结果:
bbbbbb
zxcvbn
aaaaa
zaaaaa
asdfghjk
bczzzz









