删除前导空格和后继空格的C语言函数

来源:互联网 发布:淘宝漏洞1元买苹果漏洞 编辑:程序博客网 时间:2024/04/27 15:06


#include<stdio.h>


/*删除前导空格的函数*/
void headspace(char* s)
{
 int i,j;
 for(i=0;s[i]==32;i++); /*循环结束后的i值为前导空格的个数*/
 if(i==0) return;
 for(j=i;s[j]!='/0';j++) s[j-i]=s[j];
 s[j-i]='/0';

}


/*删除后继空格的函数*/
void tailspace(char* s)
{
 int i=0,k;
 while(s[i]!='/0')i++;
 for(k=i-1;s[k]==32;k--);
 s[k+1]='/0';
}


/*main函数可以用来测试函数的正确性*/
main()
{
 char s[20];
 printf("/n");
 gets(s);     /*输入一个字符串*/
 puts(s);    /*输出字符串*/

 printf("/n");
 printf("%d/n",strlen(s));   /*输出原字符串的长度(不包含结束标志)*/ 
 headspace(s);
 puts(s);                 
 printf("/n");
 printf("%d/n",strlen(s));   /*输出删除前导空格后的字符串的长度*/
 tailspace(s);
 puts(s);
 printf("/n");
 printf("%d/n",strlen(s));  /*输出删除后继空格后的字符串的长度*/

}