倔强青铜铜 2021-12-02 16:03 采纳率: 82%
浏览 33
已结题

为什么顺序没有变呢哎呀

#include<stdio.h>
#include<string.h>
int main()
{
    void com(char*q1,char*q2,char*q3,int a,int b,int c);
    char s1[10],s2[10],s3[10];//定义三个字符串数组
    scanf("%s%s%s",s1,s2,s3);//连续输入三个字符串,以空格隔开
    char*q1,*q2,*q3;
    q1=s1;q2=s2;q3=s3;
    int a,b,c;
    a=strlen(q1);b=strlen(q2);c=strlen(q3);//计算三个字符串
    com(q1,q2,q3,a,b,c);//比较三个字符串的大小
    printf("%s<=%s<=%s\n",s1,s2,s3);
    return 0;
}
void com(char*q1,char*q2,char*q3,int a,int b,int c)//比较三个字符串大小
{
    void exchange(char * s1,char * s2);
    if (a>b)
        exchange(q1,q2);
    if(a>c)
        exchange(q1,q3);
    if(b>c)
        exchange(q2,q3);
}
 void exchange(char * s1,char * s2)//交换两个字符串
 {
 
     char p[10];
     strcpy(p,s1);
     strcpy(s1,s2);
     strcpy(s2,p);
     
 }


img

  • 写回答

2条回答 默认 最新

  • 二楼后座。 2021-12-02 16:31
    关注

    exchange(&q1, &q2)

    void exchange(char ** s1,char ** s2)//交换两个字符串
    {
    char p[10];
    strcpy(p,s1);
    *s1 = *s2;
    *s2 = p;
    }
    你可以尝试一下,我好久没写C了,可能不对,形参和实参的问题,你可以搜索一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 已采纳回答 12月7日
  • 创建了问题 12月2日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵