大可和C语言拼啦 2022-04-11 13:57 采纳率: 83.9%
浏览 28
已结题

这里为什么是void,函数的返回值不是逆序字符串嘛?我用char类型可以吗?

img

这里为什么是void,函数的返回值不是逆序字符串嘛?我用char类型可以吗?

  • 写回答

3条回答 默认 最新

  • yun6853992 2022-04-11 14:41
    关注

    第一:你要知道c语言字符串的知识点,其实是首地址开始,直到遇到字符串终结符。
    第二:你要知道函数返回值和函数参数的差异,其实,用函数返回值和用函数参数都可以实现这个功能,就是看你代码怎么写。
    第三:你要对函数传参有一个认知:函数按值拷贝传参,按指针地址传参,按引用传参的概念。 (如果按值传参,拷贝在函数内部修改是不生效的,如果按照地址传参,你虽然拷贝了地址,但是修改了地址中的值,其实外部地址对应的值韩式修改了。。。)
    所以:上面不需要函数返回值是因为函数传参,传递的是字符串的首地址,处理后外部变量依然生效了。

    至于你说的函数返回值的疑问,返回void和返回char都没有问题,但是你要知道char不是字符串,而c语言字符串的赋值一般都要提前申请内存以及用memcpy等操作,你想返回char只是返回了一个字符,却不是c字符串,,,,

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月11日

悬赏问题

  • ¥20 安装 opencv4nodejs 报错
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!