951348584 发表于 2019-2-21 16:19:52

运用指针修改字符串

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

jackz007 发表于 2019-2-21 16:49:35

* (p + i) = y ;
y = '\0'

行客 发表于 2019-2-21 16:58:00

jackz007 发表于 2019-2-21 16:49


这个方法我也想到过了。但是题目提示考虑使用x数组啊。x数组在这里存在的价值是什么?

人造人 发表于 2019-2-21 17:31:15

^_^

#include <stdio.h>

int main(void)
{
        int i, x[] = {-5, 10, -10, -2, 23, -20};
        char y = "goodbye";
        char *p = y;
        for(i = 0; i < 6; ++i)
        {
                *(p + i) = y[((x + x) - (x + x + x)) + i % 3];
        }
        y = '\0';
        printf("%s\n", p);
        return 0;
}


byebye
请按任意键继续. . .

人造人 发表于 2019-2-21 17:33:24

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

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

行客 发表于 2019-2-21 18:08:40

人造人 发表于 2019-2-21 17:33
使用x数组的内容构造特殊数字作为索引访问y数组
^_^

哈哈,很好!我一直在想看看能不能使用char方式完成。

BFSDT 发表于 2019-2-22 01:05:30

第一个空:*(p + i) = (char)(y + x);
第二个空:y = '\0';

人造人 发表于 2019-2-22 03:43:07

行客 发表于 2019-2-21 18:08
哈哈,很好!我一直在想看看能不能使用char方式完成。

7楼有更好的答案

行客 发表于 2019-2-22 12:09:11

人造人 发表于 2019-2-22 03:43
7楼有更好的答案

这就是我想的char的形式{:5_108:}

hwq731364764 发表于 2019-2-22 17:32:43

人造人 发表于 2019-2-21 17:33
使用x数组的内容构造特殊数字作为索引访问y数组
^_^

你真的是鬼才,我把X数组来回加加减减都没想出来,倒是想出来最后要加\0作为结束符

hwq731364764 发表于 2019-2-22 17:36:00

BFSDT 发表于 2019-2-22 01:05
第一个空:*(p + i) = (char)(y + x);
第二个空:y = '\0';

果然是ASCII码 层主厉害了
页: [1]
查看完整版本: 运用指针修改字符串