C语言中去掉空格问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中去掉空格问题相关的知识,希望对你有一定的参考价值。

程序改错题:
gc505.c通过接受键盘输入的字符串,通过调用函数trimspace(),实现去掉字符串的前空格和尾空格。
程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除行,也不得更改程序结构。
#include<string.h>
main()

char str[100];
void trimspace(char *);
gets(str);
trimspace(str);
puts(str);

/*------------Found Mistake Below------------*/
void trimspace(char *p)

char *q;
if(*p!='\0')
q=strlen(p);
else
return;
/*------------Found Mistake Below------------*/
for(;*q==' ';q--);
*q='\0';
for(q=p;*q==' ';q++);
strcpy(p,q);
return;

/*去除字符串右边空格*/
void
vs_strrtrim(char
*pstr)

char
*ptmp
=
pstr+strlen(pstr)-1;
while
(*ptmp
==
'
')

*ptmp
=
'\0';
ptmp--;


/*去除字符串左边空格*/
void
vs_strltrim(char
*pstr)

char
*ptmp
=
pstr;
while
(*ptmp
==
'
')

ptmp++;

while(*ptmp
!=
'\0')

*pstr
=
*ptmp;
pstr++;
ptmp++;

*pstr
=
'\0';
参考技术A #include<string.h>
void trimspace(char *);
main()

char str[100];
gets(str);
trimspace(str);
puts(str);

/*------------Found Mistake Below------------*/
void trimspace(char *p)

char *q;
if(*p!='\0')
q=p+strlen(p)-1;
else
return;
/*------------Found Mistake Below------------*/
for(;*q==' ';q--);
*q='\0';
for(q=p;*q==' ';q++);
strcpy(p,q);
return;
本回答被提问者采纳
参考技术B 你自己都知道有两处错误,为什么不找找呢!懒!!!

Eclipse 保存时自动删除空格 自动去掉语句后面多余的空格?

我用的不是日文的Eclipse,就是最新的Helio,没找到你说的选项呢。

window->设定 -> 一般(日语)->editor->AnyEdit tool ->自动变换 (日语)
里面第一个checkbox就是。
参考技术A Window->Preferences->C/C++->Editor->Save Actions->Remove trailing whitespace

以上是关于C语言中去掉空格问题的主要内容,如果未能解决你的问题,请参考以下文章

c语言 一个字符串以空格开头 怎么去掉开头的空格

怎么样吧最后一个数的空格去掉,在输出杨辉三角时,用c语言?

C语言程序 去首尾空格怎么编

JAVA怎么【只】去掉字符串【前面的】空格?

JS问题,去掉字符串的前后空格

trimws函数——去掉字符串头尾的空格