当前位置:首页 » 编程语言 » 删除空格c语言

删除空格c语言

发布时间: 2023-03-02 03:48:16

c语言中去掉空格问题

/*去除字符串右边空格*/
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';
}

⑵ C语言程序设计删除空格

#include<stdlib.h>
void
main(){
char
str[100];
int
index=0,move=-1;
printf("请输入字符串:");
gets(str);
while(str[index]!='\0'){
if(str[index]!='
'
&&
move!=-1){
str[move]
=
str[index];
move++;
}
else
if(str[index]=='
'
&&
move==-1){
move
=
index;
}
index++;
}
if(move!=-1){
str[move]='\0'
;
}
printf("删除空格后的结果是:\n%s",str);
getch();
}

⑶ c语言怎么删除多出的空格

从0下标开始,一个字符一个字符地自己向自己拷贝,当拷入一个空格时,将后面的空格跳过去。设置2个初值为0的变量i和j,i用来控制遍历原字符串数组,j用来记录新拷入的字符位置,用下面的代码就可实现!

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
charstr[1000];
inti,j;
gets(str);
for(j=i=0;str[i];i++){
if((str[j++]=str[i])==''){//自己向自己拷贝,直到遇见''
for(i++;str[i]=='';i++);//遇到''跳过后面的''
i--;
}
}
str[j]='';//补个结束符
printf("%s ",str);//打出来看看
return0;
}

⑷ C语言程序设计删除空格

遍历字符串,遇到空格,即进行删除。

可以使用第二个字符数组来保存结果,对空格不复制;也可以不使用第二个字符数组,而是采用后续字符覆盖空格字符的方式,达到删除效果。

以效率更高的第二种方法为例,代码如下:

voiddel_space(char*s)
{
char*p=s;
do{
if(*s!='')*p++=*s;
}while(*s++);
}

⑸ c语言去掉字符串的空格函数trim

c语言去掉字符串的空格函数 void trim(char *s){} 如下:
#include <stdio.h>
void trim(char *s){
int i,L;
L=strlen(s);
for (i=L-1;i>=0;i--) if (s[i]==' ')strcpy(s+i,s+i+1);
}
int main(){
char s[100];
printf("input 1 line string\n");
gets(s);
trim(s);
printf("%s\n",s);
return 0;
}
例如:
input 1 line string
abc 123 XYZ |
输出:abc123XYZ|

⑹ C语言 空格删除

#include<stdio.h>
#include<string.h>
intstrdel(char*s);
intmain()
{
chara[100];
intn;
gets(a);
n=strdel(a);
puts(a);
printf("%d",n);
return0;
}
intstrdel(char*s)
{
inti,j=0,k=0,n;
char*p=s;
n=strlen(s);
for(i=0;i<n;i++)
{
if(*(p+i)=='')
{
j++;
continue;
}
else
{
*(s+k)=*(p+i);
k++;
}
}
*(s+k)='';
returnj;
}

⑺ C语言删除字符串中的所有空格

把fun中的*str==*p;改成*str=*p;。

⑻ c语言删除空格键

涨姿势啦, %*c格式符之前见都没见过,竟然表示跳过一个字符!

按你的代码逻辑在for循环中,首先读入一个字符,然后跳过一个字符,所以结果就是读入的是输入字符串的第奇数个字符:

对 aglh zhg zghh来说第奇数个字符分别是: a,l,空格,h,空格,g,h,刚好是输出的几个字符。

要删除输入字符中的空格不应该用%*c, 而应该读入后判断读入的字符是否为空格,如果是空格则继续,否则才将其赋值到数组内。

#include<stdio.h>

intmain()
{
chara[20],c;
inti=0;
while(i<20)
{
scanf("%c",&c);
if(c=='')
continue;
a[i++]=c;
printf("%c",c);
}
return0;
}
热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:593
制作脚本网站 发布:2025-10-20 08:17:34 浏览:888
python中的init方法 发布:2025-10-20 08:17:33 浏览:582
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:765
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:684
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1013
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:255
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:114
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:806
python股票数据获取 发布:2025-10-20 07:39:44 浏览:713