问题
填空题
下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
int word(char*s)
int num=0,flag=0;
while(*s)
if( 【13】 =") flag=0;
else if 【14】 flag=1;num++
return 【15】 ;
答案
参考答案:[13]*s++
[14]flag=0或*(s-1)=’’
[15]num
解析:[评析] 在统计字符串单词个数的算法中,本题的flag是为了记录一个单词是否结束。第13空应填*s++;如果某个字符不是空格,则必须判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空恪,如果是则使得flag=0,否则判断前一个字符是否是空格,如果是则说明这个字符是—个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第14空应填flag=0或*(s-1);最后一个空格需填写的是返回的单词的个数,即num。