倔强青铜铜 2021-12-02 16:03 采纳率: 83%
浏览 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 数据库获取信息反馈出错,直接查询了ref字段并且还使用了User文档的_id而不是自己的
  • ¥15 将安全信息用到以下对象时发生以下错误:c:dumpstack.log.tmp 另一个程序正在使用此文件,因此无法访问
  • ¥15 速度位置规划实现精确定位的问题
  • ¥15 代码问题:df = pd.read_excel('c:\User\18343\Desktop\wpsdata.xlxs')路径读不到
  • ¥15 为什么视频算法现在全是动作识别?
  • ¥15 编写一段matlab代码
  • ¥15 用Python做岩石类别鉴定软件
  • ¥15 关于调取、提交更新数据库记录的问题
  • ¥15 之前删了盘从下vs2022遇见这个问题 搞了一整天了
  • ¥15 从Freecad中宏下载的DesignSPHysics,出现如下问题是什么原因导致的(语言-python)