#include "stdio.h" #include "string.h" int main(int argc, char const *argv[]) { char *str[5] = {"fvdwadadawd","aadw", "s", "derfef", "awa"}; int i, j; int min; for(i=0; i<5-1; i++) { min = i; for(j=i+1; j<5; j++) { min = strlen(str[min]) > strlen(str[j]) ? j : min; } if(i != min) { char *tmp = str[i]; str[i] = str[min]; str[min] = tmp; } for(i=0; i<5; i++) { printf("%s\n", str[i]); } } return 0; }
运行结果:
s
aadw
fvdwadadawd
derfef
awa
问一下哪里错了?
解决方案
10
比较大小为什么不用strcmp?
190
printf的循环放错位置了。把他拿到最后,紧挨着retun 0