• 0

    消息 标记为已读

    没有消息

    查看全部
  • 登录/注册
  • 我的班级
  • 小美是老师,您好,我想问下那个howareyou去空格的函数,不是最后将s的值给了p吗,那返回值不是应该是p,为什么返回值是r,还有我试了一下返回s和返回p最后输出为什么是空的

    小美是老师,您好,我想问下那个howareyou去空格的函数,不是最后将s的值给了p吗,那返回值不是应该是p,为什么返回值是r,还有我试了一下返回s和返回p最后输出为什么是空的

    楼主 MAKERU149646433 来自 嵌入式-指针函数 2016-10-28 15:31:31 3人参与讨论

    添加回答

    回答问题最高可获5M豆哦!

    全部回复

    seem

    引用@答疑讲师

    我们在函数里定义了两个指针p和r,均指向传入数组s的首地址;
    然后我们通过判断*s是否为‘\0’来对数组s进行操作,那这里我们是用指针p进行操作的,如*p=*s;s++;p++;
    那判断到最后也就是跳出while的条件是,*s=‘\0’,我们通过*p=*s来将这个\0交给p指向的地址;
    此时p指向‘\0’,s也指向‘\0’,那我们要打印这个数组是需要这个数组的首地址的,所以我们返回了r(r一直指向s的首地址)。

    赞同(0) 引用 | 3楼 2019-12-24 回复
    seem

    引用@答疑讲师

    我们在函数里定义了两个指针p和r,均指向传入数组s的首地址;
    然后我们通过判断*s是否为‘\0’来对数组s进行操作,那这里我们是用指针p进行操作的,如*p=*s;s++;p++;
    那判断到最后也就是跳出while的条件是,*s=‘\0’,我们通过*p=*s来将这个\0交给p指向的地址;
    此时p指向‘\0’,s也指向‘\0’,那我们要打印这个数组是需要这个数组的首地址的,所以我们返回了r(r一直指向s的首地址)。

    赞同(0) 引用 | 2楼 2019-12-24 回复
    答疑讲师

    我们在函数里定义了两个指针p和r,均指向传入数组s的首地址;
    然后我们通过判断*s是否为‘\0’来对数组s进行操作,那这里我们是用指针p进行操作的,如*p=*s;s++;p++;
    那判断到最后也就是跳出while的条件是,*s=‘\0’,我们通过*p=*s来将这个\0交给p指向的地址;
    此时p指向‘\0’,s也指向‘\0’,那我们要打印这个数组是需要这个数组的首地址的,所以我们返回了r(r一直指向s的首地址)。

    赞同(0) 删除 引用 | 1楼 2016-10-28 回复

    我的回复

    发表成功 M豆+5

    每日可获得50M豆,免费兑换开发板

    点赞

    收藏

    二维码

    扫一扫,在手机上查看!

    所属分类 全部分类

    C语言

    4547人关注

    关注

    C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。

    Android开发

    2869人关注

    关注

    android开发是指android平台上应用的制作,它包括操作系统、用户界面和应用程序。

    相关课程

    热门问题

    C语言测试题

    18 回答 来自 嵌入式

    FS-MP1A--linnix 编程问题

    16 回答 来自 嵌入式