刘德聪 2015-03-26 14:37 采纳率: 47.6%
浏览 1808

C语言小问题,求大神。

题目:有三串字符,A,B,C。如果A中字符跟B中相同,则把C中字符赋给A。

#include"stdio.h"
#define N 100
void replace(char *a,char *b,char *c)
{
char *p;
p=a;
while(*a!='\0') //尤其注意判断等于是 == 号
{
if(*a==*b)

{*a=*c;printf("%c",*a);}

a++;
b++;
c++;
}
a=p;
printf("\n");
puts(a);
printf("\n");
}
int main()
{
char k[N];
char *a,*b,*c; //不能直接定义一个字符指针然后直接输入一串字符
a=b=c=k;

printf("输入第一串字符:");
gets(a);
printf("输入第二串字符:");
gets(b);
printf("输入第三串字符:");
gets(c);
replace(a,b,c);
return 0;
}
图片说明

  • 写回答

7条回答 默认 最新

  • oyljerry 2015-03-26 14:52
    关注

    a,b,c都指向同一个数组k
    你需要定义三个数组j,k,l分别给a,b,c

    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler