无法返回并将C数组赋值给C中的指针

JB8*_*B87 1 c

    char *test = "hello";

    test = change_test("world");

    printf("%s",test);

char* change_test(char *n){
    printf("change: %s",n);

    return n;
}
Run Code Online (Sandbox Code Playgroud)

我试图使用函数将'字符串'传递回char指针,但得到以下错误:

赋值从整数中生成没有强制转换的指针

我究竟做错了什么?

ken*_*ytm 7

未经前瞻性声明使用的功能将被视为具有签名int (...).你应该向前宣布它:

char* change_test(char*);
...
  char* test = "hello";
  // etc.
Run Code Online (Sandbox Code Playgroud)

或者只是在你调用change_test 之前移动定义.