填空题 1.  str是全部由小写字母字符和空格字符组成的字符串,由num传入字符串的长度。请补充函数proc(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。
    例如,str="how do you do",结果为:num=4。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include<stdio.h>
    #define M 80
    void proc(char*str,int *num)
    {
    int i,n=0;
    for(i=0; ______;i++)
    {
    if(str[i]>='a'&&str[i]<='z'&&(str[i+1]=
    ="||str[i+1]=='\0'))
    ______;
    }
    ______;
    }
    void main()
    {
    char str[M];
    int num=0;
    printf("Enter a string:\n");
    gets(str);
    while(str[ num])
    num++;
    proc(str,&num);
    printf("The number of word is:
    %d\n\n",num);
    }
  • 1、
【正确答案】 1、i<*num
   n++
   *num=n    
【答案解析】 由主函数的proc()函数调用可知,变量num中存放的是字符串str的字符个数,因此,第一空处填“i<*num”;由函数proc()可知,变量n中存放字符串str中的字符个数,每检测到一个空格或字符串结束,单词数加1,因此,第二空处填“n++”;字符串str中的单词数要由形参num传递给主函数,因此,第三空处填“*num=n”。