ps:小编可能写得写得差点、复杂点,但绝对自己编的,如有雷同,纯属巧合
#include <stdio.h>
int main(){
char s[100]={0};
char *p=&s;
int i=0;
scanf("%[^.]",s);
for(;*(p)!=0;p=p+1){
if(*(p)!=' ')
i++;
if(*(p)==' '&&*(p+1)==' ')
continue;//吞多余空格
if(*(p)==' '&&*(p+1)!=0&&i!=0){
printf("%d ",i);
i=0;
}//输出前面单词的数目,i!=0有效解决了开头多空格问题
if(*(p+1)==0)//输出最后一个单词的数目
printf("%d",i);
}
return 0;
}
结果展示: