#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void split_line(char **fields, char *line);
int main() {
char *fields[5];
char *line = "donuts,are,cool,and,tasty";
int i = 0;
split_line(fields, line);
return 0;
}
void split_line(char **fields, char *line) {
int i = 0;
char *token, *delim;
delim = ",\n";
token = strtok(line, delim);
while (token) {
fields[i] = malloc(strlen(token));
strcpy(fields[i], token);
token = strtok(NULL, delim);
i++;
}
}
我是 C 的新手,并且在一个小时的大部分时间里一直试图弄清楚如何修复这个错误。它编译但在运行时我得到
总线错误:10。
如果有人能引导我了解为什么会发生这种情况以及我做错了什么,我将不胜感激。