急急急,大佬们帮帮忙

输入三行文字,找出其中有多少个空格和多少个单词(规定单词间以一个或多个空格分开)。若一个单词恰好在行末结束,则下一行的开头应有空格,句号和逗号后面也应有空格,后半部分的条件怎么满足

#include <stdio.h>
#include<stdlib.h>
int main()

{

  char *p,str[3][255],sp=' ';

  int i,w=0,sps=0;

  for (i=0;i<3;i++) gets(str[i]);

  for(i=0;i<3;i++)

    {

      p=str[i];

      while(*p==sp){sps++;p++;}

      do {

             if (*p==sp)
              {
                  w++;sps++;p++;
                  while(*p==sp) {sps++;p++;} 
               }
            else if (*p)
               p++; 

       } while(*p);
       if (*(--p)!=sp) w++;
     }

printf("有%d个单词,%d个空格\n",w,sps);

system("PAUSE");

return 0;

}

while(*p==sp) {sps++;p++;} 这个循环是做什么用的?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632