您的位置:首页 > 其它

2、有一段文本,将文本中的所有单词,存放到一个字符指针数组中(要求每个单词内存恰好)。

2014-07-30 11:10 330 查看
//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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐