首页 > 其他分享 >C语言---去掉字符串中的空格

C语言---去掉字符串中的空格

时间:2023-10-18 14:24:57浏览次数:33  
标签:空格 char 遍历 ++ C语言 --- str 字符串

有时候,我们会遇到,字符串中有空格,那如何删除呢?

要删除空格,就需要找到空格,找到空格,就需要遍历字符串。

下面是示例代码:(分别使用了for 和while 循环)

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

void fun(char *str)
{
	int i=0;
	char *p;
	/*标记:p=str表示指针指向字符串首地址做标记*/

	for(p=str;*p!='\0';p++)
		/*遍历:不等于'\0'表示只要字符串不结束,就一直p++。*/
		if(*p!=' ')
			str[i++]=*p;
	/*删除:如果字符串不等于空格,即有内容就存入字符串。等于空格就不储存,但是指针还是p++继续后移,跳过储存空格相当于删除。*/
	str[i]='\0';
}

void fun1(char *str)
{
	int i=0;
	char *p=str;
	while(*p)
	{
		if(*p!=' ')
			str[i++]=*p;
		p++;
	}
	/*除了for循环遍历,也可while循环遍历。注意 p++在if语句后,不然会漏掉第一个字符。*/
	str[i]='\0';
}

void main()
{
	char str[100];
	int n;

	printf("input a string:");
	gets(str);
	puts(str);
	printf("str old :%s\n",str);

	/*输入输出原字符串*/
	fun(str);
	/*利用fun函数删除空格*/
	printf("str new :%s\n",str);
}

 

结果:

input a string:aaa bbb  ccc  dddd111
aaa bbb  ccc  dddd111
str old :aaa bbb  ccc  dddd111
str new :aaabbbcccdddd111

 

标签:空格,char,遍历,++,C语言,---,str,字符串
From: https://www.cnblogs.com/haoran123/p/17772075.html

相关文章

  • 性能更强还便宜100元!酷睿i5-14600K图赏
    这次发布的只有六款型号,分别是8+1624核心的i9-14900K/KF、8+1220核心的i7-14700K/KF、6+814核心的i5-14600K/F,都是基准功耗125W,继续兼容LGA1700接口的600/700系列主板。现在酷睿i5-14600K已经来到我们评测室,下面为大家带来图赏。i5-14600K面向主流用户,采用6P+8E,即14核心20线......
  • MBR20200CT-ASEMI肖特基MBR20200CT参数、规格、尺寸
    编辑:llMBR20200CT-ASEMI肖特基MBR20200CT参数、规格、尺寸型号:MBR20200CT品牌:ASEMI封装:TO-220恢复时间:>50ns正向电流:20A反向耐压:200V芯片个数:2引脚数量:3类型:肖特基、插件肖特基二极管特性:低耐压、高效率浪涌电流:200A正向压降:1.05V封装尺寸:如图工作温度:-65°C~175°C......
  • 读书实践感悟-《暗时间》
    过早退出是失败的根源,从进入专注状态到完全专注,也就是心流状态,会遇到很多问题。首先是进入状态的这个决定时间段,当你意识到你在无所事事你该开始干一件事情的时候,会有很多干扰的小事积压,或者说,我们的大脑下意识来用这些来逃避痛苦的学习过程。及时享乐是大脑的天性,但当意识到的时......
  • 银河麒麟V10-SP1商店、仓库在内网下载速度很慢
    内网环境使用sudoaptinstallwps-office下载需要6天外网直接下载http://archive2.kylinos.cn/deb/kylin/production/PART-V10-SP1/custom/partner/V10-SP1/pool/all/搜索wps信息,找到你需要的架构......
  • .NET高性能开发-位图索引
    原文:.NET高性能开发-位图索引(qq.com)首先来假设这样一个业务场景,大家对于飞机票应该不陌生,大家在购买机票时,首先是选择您期望的起抵城市和时间,然后选择舱等(公务舱、经济舱),点击查询以后就会出现航班列表,随意的点击一个航班,可以发现有非常多组价格,因为机票和火车票不一样,它的......
  • C语言 内存布局
    GCC编译预处理->编译->汇编->链接预处理:头⽂件包含、宏替换、条件编译、删除注释...编译:主要进⾏词法、语法、语义分析等,检查⽆误后将预处理好的⽂件编译成汇编⽂件...汇编:将汇编⽂件转换成⼆进制⽬标⽂件...链接:将项⽬中的各个⼆进制⽂件+所需的库+启动代码链接成可执⾏⽂......
  • 无涯教程-NumPy - decode()函数
    此函数调用numpy.char.decode()解码给定的字符串。importnumpyasnpa=np.char.encode('hello','cp500')printaprintnp.char.decode(a,'cp500')其输出如下-�����hello参考链接https://www.learnfk.com/numpy/numpy-char-decode.html......
  • 零基础快速上手HarmonyOS ArkTS开发1---运行Hello World、ArkTS开发语言介绍
    概述:在华为开发者大会2023年8月4日(HDC.Together)大会上,HarmonyOS 4正式发布,其实在2021年那会学习了一点鸿蒙的开发:不过因为现在的鸿蒙手机完全兼容Android应用,所以学习动力也不是很足,一直就搁置了,直到今年华为官方出了这么一则消息才让我对于学习它有一种紧迫感了,如下:所以......
  • C语言-结构体使用
    C语言-结构体使用#include<stdio.h>#include<stdlib.h>#include<string.h>//结构体/*结构体定义*/structPerson{ charname[20]; intage;};intmain(){/*结构体赋值*/ structPersonperson1={"Tom",20 }; printf("Name:%s,age:......
  • 无涯教程-NumPy - join()函数
    此方法返回一个字符串,其中各个字符由指定的分隔符字符连接在一起。importnumpyasnpprintnp.char.join(':','dmy')printnp.char.join([':','-'],['dmy','ymd'])其输出如下-d:m:y['d:m:y''y-m-d']参考链接https://ww......