栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++ 指针删除中间星号

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ 指针删除中间星号

请完成一个函数fun,该函数的形参a是一个字符指针,该指针指向一个只包含字母和*号的字符串。该函数的功能是:除了字符串前后导的*号之外,将串中其他的*号全部删除。
例如,字符串中的内容为“***A*BC**D****”,则处理后的字符串为“***ABCD****” 

设置两个指向字符的指针变量t和f。先使用循环语句让t指针指向字符串中最后一个字符,而f指针指向字符串中第一个字符;再判断t和f指向的字符是否为“*”,如果为“*”,则t指针自减,f指针自增,直到遇到第一个不是的字符为止。

#include 
using namespace std;
void func(char *f, char *t) {
	int i, j;
	for (i = 0,j = 0; &f[i]< t; i++)
	{
		if (f[i] != '*')
			f[j++] = f[i];
	}
	for ( i = 0; t[i]; i++,j++)
	{
		f[j] = t[i];
	}
	f[j] = '';
}
 
int main()
{
	
	char s[100],*f,*t;
	gets(s);  
	f = t = s;
	while (*t)
		t++;
	t--;
	while(*f == '*')
		f++;
	while (*t == '*')
		t--;
	func(f, t);
	puts(s);
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928385.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号