【发布时间】:2014-08-06 15:38:45
【问题描述】:
我正在尝试将 char 指针推迟到函数内的 char 数组:
void getword(char *word)
{
*word = "bar";
}
int main()
{
char defword[4] = "foo";
getword(defword);
printf("%s\n", defword);
return 0;
}
我希望得到“bar”作为输出,但我似乎得到了完全不相关的字符串 '1oo'。
【问题讨论】:
-
尝试使用 strcpy() 而不仅仅是一个赋值。
-
您是否启用了任何编译器警告?
getword()中的分配(char *分配给char)应该至少触发一个。 -
我实际上得到了一个“没有强制转换的指针的整数 [默认启用]”警告我只是不知道该怎么做,但是 strcpy 肯定可以工作,感谢您的帮助!