逻辑有点问题,给你改了一下:
#include
int main()
{
char s[200], c;
int i, num = 0, word = 0, T;
scanf("%d", &T);
getchar();
while (T--)
{
gets(s);
num = 0; word = 0;
for (i = 0; (c = s[i]) != '\0'; i++)//判断句子是否到未
if (c == ' '){
if (word > 0)
num++;
word = 0;//是空格就为0
}
else
{
word = 1;//复位用来判断空格是否存在的开关
}
if (word > 0)num++;
printf("%d\n", num);
}
return 0;
}