将几个数拼接成一个最大的数
我写的代码算法不对,请先忽略。我的问题是:那个for循环注释掉后,第二个打印出来的数有乱码;如果取消注释,则没有乱码。求解释
程序代码:#include <stdio.h>
#include <string.h>
void sort(char a[][6], int n);
main()
{
char a[6][6] = {"50", "2", "203", "9", "1", "24"};
int max_num, i;
/*for(i = 0; i < 6; i++)
printf("%s", a[i]);
printf("\n");*/
sort(a,6);
for(i = 0; i < 6; i++)
printf("%s", a[i]);
printf("\n");
}
void sort(char a[][6], int n)
{
char temp[6];
int i, j;
for(i = 0; i < n; i++)
{
for(j = 0; j < n - i; j++)
{
if(strcmp(a[j], a[j+1]) < 0)
{
strcpy(temp, a[j]);
strcpy(a[j], a[j+1]);
strcpy(a[j+1], temp);
}
}
}
}








