C中的分段错误

-1 c segmentation-fault

基本上我想获得用户的输入并将其标记化.例如我输入 4 <tab> 5 <tab> 6 我想得到的

4
5
6
Run Code Online (Sandbox Code Playgroud)

但我的代码不起作用;(

#include <stdio.h>
#include <string.h>

int main ()
{
    char str;
    scanf("%c",&str);
    char *p = strtok(str, "\t");
    while(p != NULL) {
        printf("%s\n", p);
        p = strtok(NULL, "\t");
    }
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*per 5

char和之间的混乱char*.

试试这个:

#include <stdio.h>

int main ()
{
    char str[1000];
    while(scanf("%s", str)) {
        printf("%s\n", str);
    }
}
Run Code Online (Sandbox Code Playgroud)

1000是单个令牌的最大长度.根据需要调整.