【发布时间】:2018-06-26 02:29:49
【问题描述】:
如何修改在函数中作为参数传递的字符串的值?
例如我有这个函数foo(应该将return_string的值从"old string"更改为"new string"):
int foo(char *return_string) {
char *tmp = "new string";
return_string = tmp;
return 0;
}
但是如果我这样称呼它:
char *s = "old string";
foo(s);
printf("%s\n", s);
我仍然得到old string 作为输出。为什么?
我承认我对 C 中的指针和字符串有些困惑。
【问题讨论】:
-
不完全是骗人的,但同样的问题:stackoverflow.com/q/39486797/694733