在以下代码中:
#include <stdio.h>
#include <string.h>
int main (int argc, const char * argv[]) {
char input[20];
fgets(input, sizeof(input), stdin);
char * pch;
pch = strtok(input, " ");
int i = 0;
int nums[3];
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok(NULL, " ");
//nums[i] = atoi(pch);
i++;
}
return 0;
}
的输入
1 2 3
给出:
1
2
3
当我取消注释注释行时,我得到:
1
2
3
Segmentation fault: 11
为什么这一行会导致段错误?