还是一个数据结构作业,未作选做部分
#include "list_2d.c"
//literature
int getword(char **str, char *word)//得到这个字符串str的第一个word,并从str中删掉它,找不到word就返回fail,找到返回success
{
//在函数中修改str传不回去,使用指向指针的指针str
//两个非字母之间的即视为一个word
memset(word, 0, 20 * sizeof(char));//清空
if (strlen(*str) == 0) //str为空时返回fail
{
return fail;
}
int i = 0;//记录str下标
int pos = 0;//记录word下标
while (1)//找出word
{
if ((*(*str + i) >= 'A' && *(*str + i) <= 'Z') || (*(*str + i) >= 'a' && *(*str + i) <= 'z'))
{
word[pos++] = *(*str + i); //若是字母就连接到word中去
i++;
}
else
{
break; //不是字母就选取结束
}
}
*str = *str + i; //删掉取出的word(对指针的修改需要十分注意)
if (strlen(*str) == 0)
{ //str第一次为空是刚取完时,故成功
return success;
}
*str = *str + 1; //再删掉不是字母的那个字符
return success;//成功返回
}
int isKeyWord(char *word)//若word在字符集中就返回success,否则返回fail
{
char esp[][31]={"int