【发布时间】:2019-03-29 00:44:38
【问题描述】:
问题是我试图通过引用传递一个句子来改变它的一些东西(本例添加一个字符),但没有任何改变。
我尝试的第一件事是这个原始代码,但没有输入任何“*”或“&”,我得到了相同的输出。我已经阅读了其他使用 strcpy() 的类似问题,但我不确定这可能如何适用于这个问题或解决方案可能是什么,因为我不熟悉以这种方式使用的指针。
char my_char_func(char *x)
{
return x+'c';
}
int main()
{
char (*foo)(char);
foo = &my_char_func;
char word[]="print this out";
puts(word);
foo(&word);
puts(word);
return 0;
}
我希望第二个输出是“打印这个输出”
【问题讨论】:
-
foo = &my_char_func;是一个错误。如果您没有收到错误消息,请调整编译器设置。foo(&word)也是一个错误。
标签: c pointers pass-by-reference