您的位置:首页 > 其它

将单词之间多余的空格去掉

2011-04-15 18:59 190 查看
#include <stdio.h>
#include <string.h>
void main()
{
void deblank( char string[], int len );

char str[50];
int len;

gets(str);

len = strlen(str);
deblank(str,len);

printf("%s/n",str);
}

void deblank( char string[], int len )
{
int i,n=0,m=0,j;

for (i=0; i<len-m; i++)        /*len-m的意思是减去去掉的空格个数*/
{

if ( string[i] == ' ' )
{
n++;
if (n==1 && string[i+1]!=' ')   /*避免不同处的空格累加*/
n = 0;

j = i;
}
if ( n>1 && string[j+1]!=' ' )      /*当出现多个空格时将后面的字符前移*/
{
while ( string[j+1] != '/0' )
{
string[j-n+2] = string[j+1];
j++;
}
m = n-1;

string[j-n+2] = '/0';
n = 0;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: