作业帮 > 综合 > 作业

if(*s!=' ' && flag==0) C语言中的

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 10:24:47
if(*s!=' ' && flag==0) C语言中的
源程序:
#include
int fun(char *s)
{int n=0,flag=0;
while(*s!='\0')
{if(*s!=' ' && flag==0) {
n++ ; flag=1;}
if (*s==' ') flag= 0 ;
s++ ;
}
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);
}
那句话是找到了一个英文句子中的空格,从而统计出所包含的单词数量.
特别是flag,不知道它是干啥的
if(*s!=' ' && flag==0)
起初s是字符串的首地址,*s就是表示字符串中的一个字符,这里Flag是一个标志开关,起初这个开关是打开的(遇到第一个非空字符后关闭flag=1),只有在当遇到空个后才打开(即flag=0时),此时单词数加1,然后又关闭,每次循环s的地址加1,如此循环直至结束、