噫吁汐 2021-11-12 15:25 采纳率: 95%
浏览 53
已结题

c语言,字符串从小到大排列,报错无法运行

#include<stdio.h>
#include<string.h>
int main(void)
{
char *str1[100],*str2[100],*str3[100];
int *p;
gets(str1);
gets(str2);
gets(ste3);
if(strcmp(str1,str2)>0)
{
p=str1;
str1=str2;
str2=p;
}
if(strcmp(str1,str3)>0)
{
p=str1;
str1=str3;
str3=p;
}
if(strcmp(str2,str3)>0)
{
p=str2;
str2=str3;
str3=p;
}
puts(str1);
puts(str2);
puts(str3);

return 0;

}

输入
cde
afg
abc
应输出
abc
afg
cde

  • 写回答

1条回答 默认 最新

  • 从善若水 优质创作者: 信息安全技术领域 2021-11-12 15:37
    关注
    
    #include<stdio.h>
    #include<string.h>
    int main(void)
    {
        char str1[100],str2[100],str3[100];
        int *p1,*p2,*p3,*temp;
        gets(str1);
        gets(str2);
        gets(str3);
        p1=str1;
        p2=str2;
        p3=str3;
        if(strcmp(str1,str2)>0)
        {
            temp = p1;
            p1=p2;
            p2=temp;
        }
        if(strcmp(str1,str3)>0)
        {
            temp = p1;
            p1=p3;
            p3=temp;
        }
        if(strcmp(str2,str3)>0)
        {
            temp = p2;
            p2=p3;
            p3=temp;
        }
        puts(p1);
        puts(p2);
        puts(p3);
        
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 已采纳回答 11月13日
  • 创建了问题 11月12日