【两日一练】学习记录

题目

  • 给一组字符串{"lele","lili","lilei","hanmeimei","hanmeiemi"}排序,要求不改变字符数组的内容,即采用索引式排序。

思想

  • 二级指针的偏移场景

代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void print(char **p)
{
    int i;
    for(i=0;i<5;i++)
    {
        puts(p[i]);
    }

}

void print_two(char (*p)[10])
{
    int i;
    for(i=0;i<5;i++)
    {
        puts(p[i]);
    }
}


int main()
{
    char **p;
    char *tmp;
    int i,j;
    char b[5][10]={"lele","lili","lilei","hanmeimei","zhousi"};
    p=(char**)malloc(sizeof(char*)*5);//2012版本,申请内存空间必须放在定义语句的后面
    for(i=0;i<5;i++)
    {
        p[i]=b[i];
    }
    for(i=4;i>0;i--)//冒泡排序法
    {
        for(j=0;j<i;j++)
        {
            if(strcmp(p[j],p[j+1]) > 0)
            {
                tmp=p[j+1];
                p[j+1]=p[j];
                p[j]=tmp;
            }

        }

    }
    printf("排序后:\n");
    print(p);//打印二级指针所指向的内存空间的指针
    puts("**************************");
    printf("排序前:\n");
    print_two(b);//打印二维数组
    system("pause");
}

执行结果
图片说明

全部评论

相关推荐

之前自己不懂事,投了字节,基本是自己第一次面试,一面就挂了
观水:前几天有个学化学的做前端,加上实习面了22次字节最后成功了
点赞 评论 收藏
分享
2025-12-19 21:53
门头沟学院 Java
想做OpenGL:不要一来就把自己定位这么低吧,把大厂当成目标,不断去学技术做项目,最后你至少能学到能找到中小厂的技术水平,你一上来就找这种两千块还要前后端都会的,其实对你用处不会很大,真去了也是打杂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务