极限情况,空语句的时候,如果不对len做判断,会导致访问数组,答案错误
#include <stdio.h>
#include<stdlib.h>
int main()
{
char ch;
scanf("%c",&ch);
int sum=0;
int a[1000];
int len=0;
while(ch!='.')
{
if(ch!=' ')
sum++;
else{
if(sum!=0)//加了这个可以避免出现连续空格时候输出0
{
//printf("%d ",sum);
a[len++]=sum;
sum=0;
}
}
scanf("%c",&ch);
}
if(sum!=0)//避免后面连续空格
a[len++]=sum;
//如果不加下面这个if判断语句,“空语句”这个测试点过不去,
//会输出没有初始化的数组的内容,系统返回答案错误
if(len!=0)
{
for(int i=0;i<len-1;i++)
printf("%d ",a[i]);
if(a[len-1]!=0)
printf("%d",a[len-1]);
}
return 0;
}