下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char*s) { int num=0,flag=0; while (*s) { if(【 】==’’)flag=0;

admin2013-02-23  79

问题 下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
   int word(char*s)
   {  int num=0,flag=0;
   while (*s)
   {  if(【  】==’’)flag=0;
        else if(【  】){flag=1;num++}
   }
   return 【  】;}

选项

答案*s++ flag==0 或 *(s-1)==’’ num

解析 在统计字符串单词个数的算法中,本题的flag是为了记录一个单词是否结束。第18空应填*s++;如果某个字符不是空格,则必需判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空格,如果是则使得flag=0,否则判断前一个字符是否是空格,如果是则说明这个字符是一个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第19空应flag==0或*(s-1)==’’;最后一个空格需填写的是返回的单词的个数,即num。
转载请注明原文地址:https://kaotiyun.com/show/lKPp777K
0

最新回复(0)