编译器错误"无法忽略空值,因为它应该是"在C编程中

nec*_*cer 1 c compiler-errors return-value

我得到了那个无法弄清楚的错误.我查看了相关的问题,但我没有给出一个含义,有人告诉我哪个部分需要修复?

[错误]空值不应该被忽略,因为它应该是

我的代码

void getEdge(char str[],char *token){
    *token = strtok(str, "_,");
    while (token != NULL )
    {
      //  printf("%s\n", token);
        token = strtok(NULL, "_,");
    }

}

void getEdge(char str[],char *token);

int main () {
    char arr[] = "A_B_10,A_F_6,B_C_6,C_B_10,D_A_3";
    char *toke;
    char result;
    result = getEdge(arr,toke);
    printf("%s\n",result);

}
Run Code Online (Sandbox Code Playgroud)

Sou*_*osh 6

检查这一行

 result = getEdge(arr,toke);
Run Code Online (Sandbox Code Playgroud)

您正在尝试捕获返回类型所在的函数的返回值void.

请记住,void是一个不完整的类型,并且它与任何其他类型(在这种情况下,LHS是不兼容的)不兼容char,因此编译器正确地抱怨.

那说,

*token = strtok(str, "_,");
Run Code Online (Sandbox Code Playgroud)

里面的功能也看起来不太正确.检查那里的类型.