C语言-字符按ASCII降序排序
请问程序哪里出错了吗?/*编写函数fun,它的功能是:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码将序排列。例如,原来的字符串CEAedca,排序后输出为CedcEAa。*/
#include<stdio.h>
#define M 7
#include<string.h>
char fun(char str){
int i,j;
char temp;
for(i=1;i<6-1;i++){
for(j=0;j<6-i-1;j++){
if(str<str){
temp=str;
str=str;
str=temp;
}
}
}
return str;
}
void main()
{
char str;
scanf("%s",str);
fun(str);
printf("\n%s",str);
}
22行,有问题 不能将char转变成char 严凯 发表于 2020-12-13 20:42
22行,有问题 不能将char转变成char
看错了,是23行 本帖最后由 jackz007 于 2020-12-13 21:00 编辑
char fun(char str){ // 问题
int i,j;
char temp;
for(i=1;i<6-1;i++){ // 问题
for(j=0;j<6-i-1;j++){ // 问题
if(str<str){
temp=str;
str=str;
str=temp;
}
}
}
return str; // 问题
}
改为
void fun(char str[]){ // 有修改
int i , j ;
char temp ;
for(i = 1 ; i < M - 2 ; i ++) { // 有修改
for(j = i + 1; j < M - 1 ; j ++){// 有修改
if(str < str){
temp=str ;
str=str ;
str=temp ;
}
}
}
} jackz007 发表于 2020-12-13 20:52
改为
谢谢您 严凯 发表于 2020-12-13 20:42
看错了,是23行
非常感谢
页:
[1]