void test(char *str2) {
*str2 = "bbbb";
}
int main(void) {
char *str1="aaaa";
test(str1);
return EXIT_SUCCESS;
}
str1*
和str2*
指向相同的地址,为什么我无法在测试函数中更改str1的值?
谢谢所有
答案 0 :(得分:0)
您无法修改str1
的值,因为test()
无法知道str1
的位置。要让被调用者修改调用者的局部变量,请将指针传递给应修改的内容。
void test(char **str2){*str2 = "bbbb";}
int main(void) {char *str1="aaaa";test(&str1);return EXIT_SUCCESS;}