C语言问题:将给定的原字符串中的所有前导空白和尾部空白删除,但保留非空字符之间的空白”的算法和六横图 5
2个回答
展开全部
给你写了trim_sp(char *str){}; 调用它就去掉首尾空白。
算法:测字符串长度,从字符串尾部数,有几个空白,用赋'\0',砍去。
从字符串头部数,有几个空白,用向左赋值复制的方法,把字符串移到最左边。
-----
六横图 -- 不懂。
#include<stdio.h>
void trim_sp(char *str){
int len,i,j;
len = strlen(str);
while (str[len-1] == ' ') len--;
str[len] = '\0';
i=0;
while (str[i] == ' ') i++;
for(j=0;j<=len-i;j++) str[j]=str[j+i];
}
void main ()
{
char str[] = " abcd kkk hhh jjjj ";
trim_sp(str);
printf("|%s|\n",str);
}
算法:测字符串长度,从字符串尾部数,有几个空白,用赋'\0',砍去。
从字符串头部数,有几个空白,用向左赋值复制的方法,把字符串移到最左边。
-----
六横图 -- 不懂。
#include<stdio.h>
void trim_sp(char *str){
int len,i,j;
len = strlen(str);
while (str[len-1] == ' ') len--;
str[len] = '\0';
i=0;
while (str[i] == ' ') i++;
for(j=0;j<=len-i;j++) str[j]=str[j+i];
}
void main ()
{
char str[] = " abcd kkk hhh jjjj ";
trim_sp(str);
printf("|%s|\n",str);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询