我的折这道c语言编程拿出错了?谢谢,急人!!

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:17:52
题目:输入一行字符,输出其中的单词,多个空格只输出一次。
我得程序:#include<string.h>
main()
{
char a[200] ;int i;
gets(a) ;
for(i=0;a[i]!='\0';i++)
{
for(i=0;a[i]!=' ';i++ )
printf("%c",a[i]) ;
printf("%c",' ') ;
}
printf("\n") ;
}
#include<string.h>
main()
{
char a[200] ;int i,j;
gets(a) ;
for(i=0;a[i]!='\0';i++)
{
for(j=i;a[j]!=' ';j++ )
printf("%c",a[j]) ;
printf("%c",' ') ;
}
printf("\n") ;
}修改之后,仍有错误

给你改了下看看吧 #include "stdio.h"
void main()
{
int i,j;
char a[200]={0};
gets(a);
for(i=0;a[i]!=0;i++)
{
for(j=i;a[j]!=' '&&a[j]!=0;j++)
{
print("%c",a[j]);
}
if(i!=j)
{i=j;printf(" ");}}}

在你基础上改的:
#include <string.h>
#include "stdio.h"
void main()
{
char a[200] ;
int i;
gets(a) ;

for(i=0;a[i]!='\0';)
{
if(a[i]!=' ')
{
printf("%c",a[i]);
i++;
}
else
{
printf("%c",' ') ;
for(;a[i]==' ';i++)
continue;
}
}
printf("\n") ;
}

对,是二个for都用一个i了
在#include<stdio.h>
这样就可以编译通过了