设为首页收藏本站
电子基础网 首页 C语言基础知识 查看内容

删除字符串中的前部、中间、尾部的星号[C语言]

2017-1-21 19:05| 发布者: 佚名| 查看: 386| 评论: 0

摘要: /*删除前面的星号*/ voidfun(char*s) { char*p=s; for(;*p=='*';p++) if(*p=='*') { char*q=p; for(;*q!=0;q++) *q=*(q+1); *q='\0'; p--; } }/*********华丽的博一培训分割线*******//*删除中间的星号*/ voidfun(ch ...


/*删除前面的星号*/
void fun(char *s)
{
	char *p=s;
	for(;*p=='*';p++)
		if(*p=='*')	
		{
			char *q=p;
			for(;*q!=0;q++)
				*q=*(q+1);
			*q='\0';
			p--;
		}
}

/*********华丽的博一培训分割线*******/

/*删除中间的星号*/
void fun(char *s)
{
	char *p=s,*pp=s+strlen(s)-1;
		//p指向串首,pp指向串尾
	for(;*p=='*';p++)	;//使p指向第一个字母
	for(;*pp=='*';pp--)	;//使pp指向最后一个字母
	/*从p开始删,删到pp,即只删除中间的*号 */
	for(;p

/*********华丽的博一培训分割线*******/

/*删除后面的星号*/
void fun(char *s)
{
	char *p=s,*pp=s+strlen(s)-1;
		//p指向串首,pp指向串尾
	for(;*p=='*';p++)	;//使p指向第一个字母
	for(;*pp=='*';pp--)	;//使pp指向最后一个字母
	*(pp+1)='\0';		 //将最后字母后的星号变成‘\0’
}
void main()
{
	char s[]="******a*bc**def*g*****";
	fun(s);
	puts(s);
}

/******   小小解释

*p=*(p+1),这个位置保存下一个位置的值,也就是说,后面的一个一个人保存到前面,最开始的那个位置的上的值就没有了(删除)

最后祝我亲爱滴同学们考试顺利!!

*/






来源链接: http://mp.weixin.qq.com/s?__biz=MzA5NTE4MjYxMg==&idx=1&mid=200210218&sn=3c6daf2b212a5d5d73ac6670ad6d4163

鲜花

握手

雷人

路过

鸡蛋


版权声明|小黑屋| 电子基础网     

GMT+8, 2018-7-17 03:56 , Processed in 0.061380 second(s), 16 queries .

© 2016-2017 电子基础网

欢迎投稿:dzjcgw@163.com
返回顶部