数组问题,输入字符排列问题

img


#include <stdio.h>
#include <string.h>

int main() {
char str[100], a[100], b[100] ;
gets(str);
int i = 0, c = 0, d = 0, m, n, len;
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] > str[0]) {
a[c] = str[i];
c++;
} else {
b[d] = str[i];
d++;
}
}

for (i = 1; i <= d; i++) {
    for (n = 0; n < d + 1 - i; n++)
        if (b[n] > b[n + 1]) {
            m = b[n];
            b[n] = b[n + 1];
            b[n + 1] = m;
        }
}
for (i = 0; i <= c; i++)
    printf("%c", a[i]);
for (i = 0; i <= d; i++)
    printf("%c", b[i]);

}
哪有问题