#include<stdio.h>
int main(void)
{
char str[80];
int i,j;
void swap(char*pa,char*pb);
printf("请输入字符串: ");
gets(str);
for(i=0;str[i]!='\0';i++)
{
for (j = i + 1; str[j] != '\0'; j++)
{
if (str[i] > str[j])
swap(&str[i], &str[j]);
}
}
printf("排序后的字符串:%s\n",str);
return 0;
}
void swap(char*pa,char*pb)
{
char temp;
temp=*pa;
*pa=*pb;
*pb=temp;
}
这个警告可以忽略。
if (str[i] > str[j]) 条件都不满足,swap确实没有执行。