编写函数 void fun(char *str),实现将字符串尾部的*号全部删除,前面的和中间的*号不删除

 我来答
凝结阳光
2011-05-02 · 超过17用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:0
展开全部
就判断str的一个*的后面是否出现str字符,或者判断一下,然后开始标记,从这个*开始删。。。。
wanfustudio
2011-05-02 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3774万
展开全部
#include <stdio.h>
#include <string.h>

void fun(char *str)
{
int len = 0;
int i = 0;

if(str == NULL)
{
return;
}

len = strlen(str);

for(i = len -1; i >=0; i--)
{
if(str[i] == '*')
{
str[i]='\0';
}
else
{
break;
}
}

printf("%s\n",str);
}

int main()
{
char a[] = {"***"};
fun(a);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kjyqxz9jh
2011-05-03 · TA获得超过1825个赞
知道小有建树答主
回答量:2044
采纳率:50%
帮助的人:907万
展开全部
void fun(char *str) {
char *p1 = str;
char *p2 = str;
while (*p2 != 0x00) {
if (*p2 == 0x20) {
*p1++ = 0x20;
while (*p2 == 0x20) {
p2 ++;
}
} else {
*p1++ = *p2++;
}
}
*p1 = 0x00;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12300a9
2011-05-02
知道答主
回答量:21
采纳率:0%
帮助的人:12.1万
展开全部
void fun(char *str)
{
char *p;
while(*str!='\0')
{
if(*str!='*')p=++str;
else
{
str++;
if(*str=='\0')*p='\0';
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式