还是c语言问题,请大虾进来指教

我想用指针输入三个字符串,代码如下#include<stdio.h>#include<string.h>voidmain(){chara[200],*p1,*p2,*p3... 我想用指针输入三个字符串,代码如下

#include <stdio.h>
#include <string.h>
void main()
{char a[200],*p1,*p2,*p3,*temp;
temp=p1=a;
printf("请输入三个字符串\n");
scanf("%s",p1);
p2=p1+strlen(p1)+1;
scanf ("%s",p2);
p3=p1+strlen(p2)+1;
scanf ("%s",p3);
printf ("%s,%s,%s'",p1,p2,p3);}

但输出结果与输入数据不同,这是为什么?
指针指错了吗?
展开
 我来答
day9981
2006-12-24 · TA获得超过1816个赞
知道小有建树答主
回答量:345
采纳率:0%
帮助的人:0
展开全部
是指针指错了

#include <stdio.h>
#include <string.h>
void main()
{
char a[200],*p1,*p2,*p3,*temp;
p1=a;
printf("input three strings:\n");
scanf("%s",p1);
p2=p1+strlen(p1)+1;
scanf ("%s",p2);
p3=p1+strlen(p1)+strlen(p2)+2; /* 因为前面已经有两个字符串,意味着有两个空字符'\0' */
scanf ("%s",p3);
printf ("%s,%s,%s\n",p1,p2,p3);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式