倔强青铜铜 2021-12-02 16:03 采纳率: 84%
浏览 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 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)