程序目的是将一串字符中的多个连续空格合并为一个空格
如:abc d g f f变为abc d g f f
我用的方法是判断当前空格的前一个是否为空格,若是则后面的字符都向前进一位,但总不能实现,请大家指点,谢谢!!#include<stdio.h>
main()
{int i,j=0,m=1;char c,str[81];
gets(str);
for(i=0;(c=str[i])!=\0;i++)
{if(m!=0&&c== ) \*m=0表示前一个字符为空格*\
m=0;
if(m==0&&c!= )
m=1;
if(m==0&&c== )
for(j=i;(c=str[j])!=\0;)
{str[j]=str[j+1];j=j+1;}
}
puts(str);
}
#include <stdio.h>
void main()
{
int i,j=0,m=1;
char c,str[81];
gets(str);
for(i=0;(c=str[i])!=\0;i++)
{
if(m!=0&&c== ) /*m=0表示前一个字符为空格*/
{//前一个字符不是空格,当前字符是空格
m=0;
continue;
}
if(m==0&&c!= )
{//前一个字符是空格,当前字符不是空格
m=1;
continue;
}
if(m==0&&c== )
{//前一个字符是空格,当前字符str[i]是空格
for(j=i;(c=str[j])!=\0;)
{
str[j]=str[j+1];
j=j+1;
}
i--;
}
}
puts(str);
getchar();
}