【发布时间】:2019-09-23 14:30:55
【问题描述】:
我是 C 新手,对如何在函数之间更改 char * 的值感到困惑。
例如:
#include <stdio.h>
void testing(char *s) {
s = "hi";
} // testing
int main() {
char *s = "hello";
testing(s);
printf("%s\n", s);
} // main
在这种情况下,s 的值没有改变,并打印"hello"。
如何更改s,而无需更改任一函数的返回类型或参数?
【问题讨论】:
-
不幸的是,很难很好地回答这个问题。原因是您似乎对指针和字符串文字没有足够的基础知识。我可以编写适合您的代码,但这会令人困惑。我建议阅读有关字符串、指针和字符串文字的内容。
-
@klutt。我不知道,我有点喜欢我的回答
-
@MadPhysicist 我不确定。我觉得虽然它在技术上是正确的,但我怀疑它是否教会了 OP 他真正需要知道的东西。
-
@klutt。除非我们永远无法真正了解某人的想法,否则我进行了更新。