数单词
这是书上的码,没问题。 #include <stdio.h>
#include <stdlib.h>
int main()
{
int a=0,b=0,i;
char c,str[81];
gets(str);
for(i=0;(c=str[i])!='\0';i++)
if(c==' ')
a=0;
else if(a==0)
{
a=1;
b++;
}
printf("共有%d个单词\n",b);
system("pause");
return 0;
}
这是我自己写的,但如果输入的第一个单词前面没有空格的话,输出的单词个数就会少一个。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b=0,i;
char c,str[81];
gets(str);
for(i=0;(c=str[i])!='\0';i++)
if(c==' ')
a=0;
else if(a==0)
{
a=1;
b=b+1;
}
printf("共有%d个单词\n",b);
system("pause");
return 0;
}
为什么会这样?请教各位!