填空题  
    给定程序中函数fun的功能:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开,字符串中只有字母与空格。
    例如,形参s所指的字符串为:This is a C language program,函数的返回值为6。
    请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.c中。不得增行或删行,也不得更改程序的结构!
    给定源程序如下:
    #include  <stdio.h>
int fun(char  *s)
{ int  n=0, flag=0;
  while(*s!='\0')
  { if(*s!=' ' && flag==0) {
/**********found**********/
    ______;  flag=1;}
/**********found**********/
    if (*s==' ')  flag=______;
/**********found**********/
    ______;
  }
  return  n;
}
main()
{ char  str[81];    int  n;
  printf('\nEnter a line text:\n');  gets(str);
  n=fun(str);
  printf('\nThere are %d words in this text.\n\n',n);
}
 
【正确答案】
【答案解析】 (1)单词个数用变量n来统计,当前字母不是空格且flag状态标志为0时,可以判断出现一个新的单词,则单词数就加1,将状态标志flag置为1,所以应填n++。 (2)当前字符是空格时,flag状态标志置0,所以应填0。 (3)判断一个字符之后,要继续判断字符串的下一个位置,所以应填s++。