#include<stdio.h>
#include<stdlib.h>
int main()
{
void exchange(char b[10]);
int i;
char a[10];
for (i = 0; i < 10; i++)
scanf_s("%c",&a[i]);
exchange(a);
printf("%c", a[i]);
system("pause");
return 0;
}
void exchange(char b[10])
{
int i, j;
char t;
for (i = 0; i < 10; i++)
for (j = 0; j < 10 - i; j++)
if (b[j] > b[j + 1])
{
t = b[j + 1];
b[j] = b[j + 1];
b[j + 1] = t;
}
}
你输入
exchange(a);
printf("%c", a[i]);这里,i已经是10了,越界了。而且你的输出是%c,只输出1个字符。改成printf("%s\n",a);
如有帮助,请采纳一下,谢谢。