//1,如何存储文本
//2,如何识别一个单词
//3,如何动态计算开辟空间的大小
//4,如何存储地址?(指针数组)
char str[] =" Pay attention to oral hygiene, and the good hygienic habit. Stick to to get up early and brush your teeth before going to sleep";
char tempStr[20] ={0};//定义一个临时存储单词的数组
char *p[255] = {0};
int i =0;//定义字符串的下标
int j =0;//定义临时数组的下标
int k =0;//定义指针变量的下标
while (1) {
if (str[i] !=' ' && str[i] != '\0') {//消除最后一个单词因为没有空格而读不出来.
tempStr[j++] = str[i];
} else if(j != 0) { //消除文本开始时的空格或者多个空格.BUG
tempStr[j] = '\0';
p[k] = malloc(strlen(tempStr));
strcpy(p[k], tempStr);
k++;
j=0;//对读取一个单词之后,对临时数组下标清零操作.
}
if (str[i] == '\0') {
break;
}
i++;
}
for (int i= 0 ; i < k; i++) {
printf("%s",p[i]);
}
free(p[i]);
p[i] = NULL;
2、有一段文本,将文本中的所有单词,存放到一个字符指针数组中(要求每个单词内存恰好)。
最新推荐文章于 2022-07-22 14:50:45 发布