鱼C论坛

 找回密码
 立即注册
查看: 2682|回复: 10

运用指针修改字符串

[复制链接]
发表于 2019-2-21 16:19:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
啊,如题,如何填空???

一道c的指针问题,如何填空让goodbye 变成 byebye

一道c的指针问题,如何填空让goodbye 变成 byebye
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-21 16:49:35 | 显示全部楼层
  1. * (p + i) = y[i < 3 ? i + 4 : i + 1] ;
  2. y[6] = '\0'
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +1 收起 理由
行客 + 3 + 3 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-21 16:58:00 | 显示全部楼层

这个方法我也想到过了。但是题目提示考虑使用x数组啊。x数组在这里存在的价值是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-21 17:31:15 | 显示全部楼层
^_^

  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int i, x[] = {-5, 10, -10, -2, 23, -20};
  5.         char y[20] = "goodbye";
  6.         char *p = y;
  7.         for(i = 0; i < 6; ++i)
  8.         {
  9.                 *(p + i) = y[((x[1] + x[0]) - (x[4] + x[5] + x[3])) + i % 3];
  10.         }
  11.         y[6] = '\0';
  12.         printf("%s\n", p);
  13.         return 0;
  14. }
复制代码

  1. byebye
  2. 请按任意键继续. . .
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-21 17:33:24 | 显示全部楼层
行客 发表于 2019-2-21 16:58
这个方法我也想到过了。但是题目提示考虑使用x数组啊。x数组在这里存在的价值是什么?

使用x数组的内容构造特殊数字作为索引访问y数组
^_^

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
行客 + 5 + 5 + 3 无条件支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-21 18:08:40 | 显示全部楼层
人造人 发表于 2019-2-21 17:33
使用x数组的内容构造特殊数字作为索引访问y数组
^_^

哈哈,很好!我一直在想看看能不能使用char方式完成。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 01:05:30 | 显示全部楼层
第一个空:*(p + i) = (char)(y[i] + x[i]);
第二个空:y[6] = '\0';

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
人造人 + 5 + 5 + 3 无条件支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 03:43:07 | 显示全部楼层
行客 发表于 2019-2-21 18:08
哈哈,很好!我一直在想看看能不能使用char方式完成。

7楼有更好的答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 12:09:11 | 显示全部楼层

这就是我想的char的形式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 17:32:43 | 显示全部楼层
人造人 发表于 2019-2-21 17:33
使用x数组的内容构造特殊数字作为索引访问y数组
^_^

你真的是鬼才,我把X数组来回加加减减都没想出来,倒是想出来最后要加\0作为结束符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 17:36:00 | 显示全部楼层
BFSDT 发表于 2019-2-22 01:05
第一个空:*(p + i) = (char)(y + x);
第二个空:y[6] = '\0';

果然是ASCII码 层主厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 00:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表