C语言菜鸟编程求助

编写字符串比较函数voidpickup(char*sp,char*dp,char*rp)要求该函数逐个读取sp所指字符串中的字符,检查dp所指字符串中是否出现该字符,若出... 编写字符串比较函数
void pickup( char* sp, char* dp, char* rp)
要求该函数逐个读取sp所指字符串中的字符,检查dp所指字符串中是否出现该字符,若出现则将该字符放入rp所指的字符串中。英文字符区分大小写,空格不检查。
sp与dp所指向的字符串均由键盘输入,指针的移动使用++或--。
例子:
sp→ I am C language.
dp→ Look up in me.
rp→ Imlnue.
在用指针读写字符串时,注意:
检查指针是否在使用前指向有意义的变量;怎样对指针使其指向字符串;如何通过指针读写字符串中的字符,等等。
展开
 我来答
xoalyg
2011-10-18 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2385万
展开全部

#include <stdio.h>

void pickup( char* sp, char* dp, char* rp) {

char *p,*q,*w;

p = sp;

w = rp;

while(*p) {

q = dp;

while(*q) {

if((*p == *q) && (*p != ' ')) *w++ = *p;

q++;

}

p++;

}

*w = '\0';

}

int main() {

char s1[30],s2[30],s3[15];

printf("请输入字符串s1 = ");

gets(s1);

printf("请输入字符串s2 = ");

gets(s2);

pickup(s1,s2,s3);

printf("rp = %s\n\n",s3);

return 0;

}

百度网友1889732
2011-10-18 · TA获得超过107个赞
知道答主
回答量:69
采纳率:0%
帮助的人:77.1万
展开全部
区分大小写的话RP不是楼主的那个结果
#include<stdio.h>
int ifchar(char s );
void pickup( char* sp, char* dp, char* rp);
void main()
{
char sp[50],dp[50],rp[50];
printf("sp->");
gets(sp);
printf("dp->");
gets(dp);
pickup( sp, dp, rp);
printf("rp->%s\n",rp);
}
void pickup( char* sp, char* dp, char* rp)
{
int i,j,k=0;
for(i=0;sp[i]!='\0';i++)
{
if (ifchar(sp[i]))
{
j=0;
while (dp[j]!='\0')
{
if(sp[i]==dp[j])
{
rp[k++]=sp[i];
break;
}
j++;
}
}

}
rp[k]='\0';
}
int ifchar(char s)
{
if(((s>='a')&&(s<='z'))||((s>='A')&&(s<='Z')))
return 1;
else return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天生我是水瓶座
2011-10-18 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:117万
展开全部
void pickuo(char *strsp, char *strdp,char *strrp);
{
if( (*strsp++ = * strdp++) != ‘\0’ )
{
*strsp=*strrp;
*strrp++;
}
NULL ;
}
未编译 偶然看到写的 看看对你有帮助么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式