c语言编程 要用指针把两个字符串连接起来, 我这么编的不知道哪错了。求指教,求正解。谢谢

#include<stdio.h>voidmain(){chars[20],c[20];char*p,*q;p=s,q=c;printf("请输入一串字符:");gets... #include<stdio.h>
void main()
{
char s[20],c[20];
char *p,*q;
p=s,q=c;
printf("请输入一串字符:");
gets(p);
printf("请输入一串字符:");
gets(q);
for(p=s;*p!='\0';p++)
for(q=c;*q!='\0';q++)
*p++=*q;
*p='\0';
printf("连接后的字符串为:%s\n",*p);
}
展开
 我来答
59分粑粑分享生活
高粉答主

2020-05-23 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119833

向TA提问 私信TA
展开全部

语法有错误,可以按照如下方法实现用指针把两个字符串连接起来:

1、第一步,创建一个新项目和.c文件,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,定义变量类型,见下图的代码,转到下面的步骤。

3、第三步,执行完上面的操作之后,调用cpy函数,见下图的代码,转到下面的步骤。

4、第四步,执行完上面的操作之后,定义一个函数,了解并定义变量类型,见下图的代码,转到下面的步骤。

5、第五步,执行完上面的操作之后,使用For语句和if语句来进行判断,见下图的代码,转到下面的步骤。

6、第六步,执行完上面的操作之后,添加一个字符串终止符,并将其输出到main函数中,见下图的标记的代码,转到下面的步骤。

7、第七步,执行完上面的操作之后,执行并得出结果,两个字符串连接起来了,见下图。这样,就解决了这个问题了。

龍__鳳
推荐于2017-12-16 · TA获得超过2346个赞
知道小有建树答主
回答量:948
采纳率:0%
帮助的人:1405万
展开全部

#include<stdio.h>

void main()

{

 char s[20],c[20];

 char *p,*q;

 p=s,q=c;

 printf("请输入一串字符:");

 gets(p);

    printf("请输入一串字符:");

 gets(q);

 for(p=s;*p!='\0';p++);//这里加上分号


 for(q=c;*q!='\0';q++)

  *p++=*q;

  *p='\0';

 printf("连接后的字符串为:%s\n",s);//输出的是s,不是p

}


追问
请问那个地方为什么要加  ;; 分号呢? 还有最后那个输出写成 *p为什么不行?
;
追答
加分号是使p指向字符串s的末尾。
你都让*p='\0'了,为什么还输出*p了?
你本意是把字符串c接到字符串s后,自然输出s了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锕钚3G
2013-05-19 · 超过25用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:63万
展开全部
void main()
{
char s[100],c[20],d[20];
char *p,*q, *sp;
sp = s;
p = c;
q = d;
printf("请输入一串字符:");
gets(c);

printf("请输入一串字符:");
gets(d);

for (;*p != '\0';) {
*sp++ = *p++;
}

for (;*q != '\0';) {
*sp++ = *q++;
}
*sp = '\0';
printf("连接后的字符串为:%s\n",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a547673135
2013-05-19 · TA获得超过635个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:244万
展开全部
#include<stdio.h>
#include <string.h>
void main()
{
char s[20],c[20],x[40],i,j;
char (*p)[20],(*q)[20];
p=&s,q=&c;
printf("请输入一串字符:");
gets(*p);
printf("请输入一串字符:");
gets(*q);
strcat(*p,*q);
printf("连接后的字符串为:%s\n",*p);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
356614352
2013-05-19 · 超过12用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:35.7万
展开全部
第一个for后加分号隔开试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式