我也写了一个,代码仅供参考:void deblank(char string[])
{
//字符串长度
int nLen = strlen(string);
if (nLen <=0)
{
printf("string is empty!\n");
return ;
}
//查找空格
int nstrnum = 0;
//标记空格键个数
int nflag = -1;
for (int i=0; i<nLen; ++i)
{
//找到第一个空格的位置
if (' ' == string[i])
{
nstrnum = i;
nflag = -1;
//查看后面有多少个空格
for (int j=i; i<nLen; ++j)
{
if (' ' == string[j])
{
++nflag;
}
else
{
break;
}
}
//如果只有一个空格,下面代码不执行
if (-1 == nflag)
{
break;
}
//将第一个空格后的字符前移
nLen = nLen-nflag;
for (int k = i+1; k<nLen; ++k)
{
string[k] = string[nflag+k];
}
//修改第二次循环的位置
i = i+nflag;
}
}
//重新设置字符串的结束位置
string[nLen] = '\0';
}
|