运用指针修改字符串
啊,如题,如何填空??? * (p + i) = y ;y = '\0' jackz007 发表于 2019-2-21 16:49
这个方法我也想到过了。但是题目提示考虑使用x数组啊。x数组在这里存在的价值是什么? ^_^
#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 16:58
这个方法我也想到过了。但是题目提示考虑使用x数组啊。x数组在这里存在的价值是什么?
使用x数组的内容构造特殊数字作为索引访问y数组
^_^
人造人 发表于 2019-2-21 17:33
使用x数组的内容构造特殊数字作为索引访问y数组
^_^
哈哈,很好!我一直在想看看能不能使用char方式完成。 第一个空:*(p + i) = (char)(y + x);
第二个空:y = '\0';
行客 发表于 2019-2-21 18:08
哈哈,很好!我一直在想看看能不能使用char方式完成。
7楼有更好的答案
人造人 发表于 2019-2-22 03:43
7楼有更好的答案
这就是我想的char的形式{:5_108:} 人造人 发表于 2019-2-21 17:33
使用x数组的内容构造特殊数字作为索引访问y数组
^_^
你真的是鬼才,我把X数组来回加加减减都没想出来,倒是想出来最后要加\0作为结束符 BFSDT 发表于 2019-2-22 01:05
第一个空:*(p + i) = (char)(y + x);
第二个空:y = '\0';
果然是ASCII码 层主厉害了
页:
[1]