77kki 2021-05-24 19:53 采纳率: 60%
浏览 58
已采纳

C语言 指针 将字符串按长度排列

根据在网上找的代码自己改了一个 但是不知道哪里错了

求问(*p)[N]和*p[N]在写的时候有什么区别

  • 写回答

3条回答 默认 最新

  • 正在学C++ 2021-05-26 16:39
    关注
    #include<stdio.h>
    #include<string.h>
    #define M 5
    #define N 20
    void StrSort(char (*p)[N])
    {
        int i,j,k,x[M];		char t[N];
        for(i=0;  i<M;  i++ )
            x[i]=strlen(p[i]);
    
        for(i=0;  i<M;  i++  )      /////////////i<M
        {	k=i;
            for(j=i+1;  j<M;  j++ )
                if(x[j]<x[i])	k=j;
            if(k!=i)
            {	strcpy(t,p[i]);
                strcpy(p[i],p[k]);
                strcpy(p[k],t);
                x[k]=x[i];
            }
        }
    }
    int main()
    {
        char p[M][N];
        int i;
        for(i=0;i<M;i++)
            scanf("%s",p[i]);   /////////////////不要加\n
        StrSort(p);
        for(i=0;i<M;i++)
            printf("%s\n",p[i]);
        return 0;
    }
    /*
    12345
    1234
    123
    12
    1
     */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏