问题描述:编写一个函数,其参数为一个字符串,删除字符串中的所有空格并输出。
分析:遍历字符数组,当遇到空格时,将空格后面的所有字符从空格处重新写入,直到遇到‘\0’结束。
代码:
#include <stdio.h>
#include <string.h>
char *DeleteBlank(char *src)
{
char *p = src;
int i,j;
for(i=0;src[i];i++)
{
if(src[i]==' ')
{
for(j = i; src[j]; j++)
src[j] = src[j+1];
i--;
}
}
return p;
}
int main ()
{
char s[128] = {0};
scanf("%[^\n]",s);
printf("%s\n",DeleteBlank(s));
return 0;
}
运行结果: