编写程序,假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是将字符串尾部的*号全部删除,
前面和中间的*号不删除。例如,字符串中的内容为***A*BC*DEF*Z****,删除后,字符串中的内容应当是“***A*BC*DEF*Z”,在编写函数是,不得使用C语言...
前面和中间的*号不删除。
例如,字符串中的内容为***A*BC*DEF*Z****,删除后,字符串中的内容应当是“***A*BC*DEF*Z”,在编写函数是,不得使用C语言提供的字符串函数 展开
例如,字符串中的内容为***A*BC*DEF*Z****,删除后,字符串中的内容应当是“***A*BC*DEF*Z”,在编写函数是,不得使用C语言提供的字符串函数 展开
2个回答
展开全部
//从后面看,找到第一个不是*,调试通过
#include<iostream.h>
void fun(char *p)
{
int i=0,j=0;
for(; ;i++) //求长度
{
if(*(p+i)=='\0')
break;
}
j=i;
for(;j>=0;j--) //从后往前找
{
if(*(p+j)!='*'&&*(p+j)!='\0') //找到不是*
{
*(p+j+1)='\0';
break;
}
}
}
void main()
{
char str[]="***A*BC*DEF*Z****";
char *p=&str[0];
fun(p);
cout<<p;
}
#include<iostream.h>
void fun(char *p)
{
int i=0,j=0;
for(; ;i++) //求长度
{
if(*(p+i)=='\0')
break;
}
j=i;
for(;j>=0;j--) //从后往前找
{
if(*(p+j)!='*'&&*(p+j)!='\0') //找到不是*
{
*(p+j+1)='\0';
break;
}
}
}
void main()
{
char str[]="***A*BC*DEF*Z****";
char *p=&str[0];
fun(p);
cout<<p;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询