char str[] = "vkal fjut bkil vcujt lojio cthrh";
char *pStr[6] = {0};//这里的数组个数可以指定地大一些
int i = 0, k = 0;//i记录字符个数,k记录指针数组的组数
int length = 0;//length记录单词的长度
while (str[i] != '\0') {
if (str[i] != ' ') {
length ++;
} else{
str[i] = '\0';
*(pStr + k) = malloc(length + 1);
strcpy(*(pStr + k), &(str[i - length]));
length = 0;
k ++;
}
i ++;
}//执行到这里k=5
if (length != 0) {
str[i] = '\0';
*(pStr + k) = malloc(length + 1);
strcpy(*(pStr + k), &(str[i - length]));
//k++;
}
for (int i = 0; i < 6; i ++) {
printf("%s ", *(pStr + i));
free(*(pStr + i));
*(pStr + i) = NULL;
}