C语言问题 求*号后面的字符串

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:46:24
#include<stdio.h>
void fun(char a[],char b[])
{ char *p,*w;

p=a,w=b;

while(*p)
{
{if(*p!='*')*w=*p;}
p++;
w++;

}

*w='\0';
}

void main()
{
char a[100]={"****8*abcaaaaa*"},
b[100]={'0'};//⑴
fun(a,b);
printf("%s",b);
}
我想得到*号后面的字符串 请帮忙在原程序基础上进行修改 要求带注解..
⑴b数组怎么能默认为空啊?我那么设定为0的话会在前面多出一个0,如果不设的话还会出随机数..请高手帮忙啊 答好了给高分
谢谢2楼的 如果我想求后面的全部字符串呢包括*号
输出结果是8*abcaaaaa

"我那么设定为0的话会在前面多出一个0"

这是什么意思呀?请解释。

你想达到什么目的呀?请说明。

给你改了一下
#include<stdio.h>
void fun(char a[],char b[])
{ char *p,*w;

p=a,w=b;

while(*p)
{
{if(*p!='*')
{
*w=*p;
w++; //只有在不是*的情况下,才能进行w++
}
p++; //
}

}

*w='\0';
}

void main()
{
char a[100]={"****8*abcaaaaa*"},
b[100];//⑴ 这样就是空了,或者b[0]='\0'
fun(a,b);
printf("%s\n",b);
}

求后面的全部字符串呢包括*号
输出结果是8*abcaaaaa*

#include<stdio.h>
#include <string.h>
void fun(char a[],char b[])
{
int i=0;
while(a[i])
{
if(a[i]!='*')
{
strcpy(b,&a[i]);
break;
}
i++;
}

}

void main()
{
char a[100]={"****8*abcaaaaa*"},
b[100];//⑴ 这样就是空了,或者b[0]=