c语言程序改错
程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。程序说明:(1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/\”。(2)函数getStr...
程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。
程序说明:
(1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/\”。
(2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。
(3)函数charInStr的功能是判断字符t是否出现在串Str中。
(4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。
#include<stdio.h>
#define Yes 1
#define No 0
char *getStrFromBuf(char *Buf, char *Str, char *divStr);
int charInStr(char *Str, char t);
int main(void)
{
char inBuf[100] = ">how old are/ you?", *point, oneWord[20];
char divChar[] = " ;?!,.>/\\";
point = inBuf;
while (*point)
{
/*********Found************/
getStrFromBuf(point, oneWord, divChar);
if (*oneWord)
{
puts(oneWord);
}
}
return 0;
}
int charInStr(char *Str, char t)
{
for (; *Str; Str++)
{
/*********Found************/
if (*Str == *t)
{
/*********Found************/
return No;
}
}
/*********Found************/
return Yes;
}
char *getStrFromBuf(char *Buf, char *Str, char *divStr)
{
for (; *Buf; Buf++)
{
if (charInStr(divStr, *Buf) == No)
{
break;
}
}
for (; *Buf; Buf++)
{
if (charInStr(divStr, *Buf) == Yes)
{
break;
}
/*********Found************/
Str = *Buf;
Str++;
}
/*********Found************/
*Str = '0';
/*********Found************/
return ;
} 展开
程序说明:
(1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/\”。
(2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。
(3)函数charInStr的功能是判断字符t是否出现在串Str中。
(4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。
#include<stdio.h>
#define Yes 1
#define No 0
char *getStrFromBuf(char *Buf, char *Str, char *divStr);
int charInStr(char *Str, char t);
int main(void)
{
char inBuf[100] = ">how old are/ you?", *point, oneWord[20];
char divChar[] = " ;?!,.>/\\";
point = inBuf;
while (*point)
{
/*********Found************/
getStrFromBuf(point, oneWord, divChar);
if (*oneWord)
{
puts(oneWord);
}
}
return 0;
}
int charInStr(char *Str, char t)
{
for (; *Str; Str++)
{
/*********Found************/
if (*Str == *t)
{
/*********Found************/
return No;
}
}
/*********Found************/
return Yes;
}
char *getStrFromBuf(char *Buf, char *Str, char *divStr)
{
for (; *Buf; Buf++)
{
if (charInStr(divStr, *Buf) == No)
{
break;
}
}
for (; *Buf; Buf++)
{
if (charInStr(divStr, *Buf) == Yes)
{
break;
}
/*********Found************/
Str = *Buf;
Str++;
}
/*********Found************/
*Str = '0';
/*********Found************/
return ;
} 展开
2个回答
推荐于2016-04-08
展开全部
//程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。
//程序说明:
//(1)单词之间的分隔符由串divChar,程序中定义为“; ? !, .> / \”。
//(2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。
//(3)函数charInStr的功能是判断字符t是否出现在串Str中。
//(4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。
#include<stdio.h>
#define Yes 1
#define No 0
char *getStrFromBuf(char *Buf, char *Str, char *divStr);
int charInStr(char *Str, char t);
int main(void)
{
char inBuf[100] = ">how old are/ you?", *point, oneWord[20];
char divChar[] = " ;?!,.>/\\";
point = inBuf;
while (*point)
{
/*********Found************/
point=getStrFromBuf(point, oneWord, divChar);
if (*oneWord)
{
puts(oneWord);
}
}
return 0;
}
int charInStr(char *Str, char t)
{
for (; *Str; Str++)
{
/*********Found************/
if (*Str == t)
{
/*********Found************/
return Yes;
}
}
/*********Found************/
return No;
}
char *getStrFromBuf(char *Buf, char *Str,const char *divStr)
{
for (; *Buf; Buf++)
{
if (charInStr(divStr, *Buf) == No)
{
break;
}
}
for (; *Buf; Buf++)
{
if (charInStr(divStr, *Buf) == Yes)
{
break;
}
/*********Found************/
*Str = *Buf;
Str++;
}
/*********Found************/
*Str = '\0';
/*********Found************/
return ++Buf;
}
2014-12-14
展开全部
main里的第一个赋值就错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询