当变量在范围内时使用的C未初始化局部变量

时间:2018-12-07 13:52:29

标签: c initialization

无论出于何种原因,我都无法根据我尝试的几种方法来解释为什么编译器会引发未初始化的局部变量异常。我当前的代码如下。

while (fgets(line, LINE_SIZE, fh) != NULL)
{
    const char s[1] = " ";
    char * token;
    token = strtok(line, s);
    char * tokptr;

    for (int i = 0; i < MAX_NUM; i++)
    {
        nums[i] = *token;
    }

    while (token != NULL)
    {
        strcpy(tokptr, token);
        token = strtok(NULL, s);

    }
}

我在以下行收到错误消息:strcpy(tokptr, token)的未初始化局部变量'tokptr',我迷失了原因。

我已经尝试过使用char * tokptr = malloc(200);为变量预分配内存,但是也没有运气。

0 个答案:

没有答案