一道关于指针的C语言改错题,求学霸解释!!

函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s所指字符串为“ABCD”,则t为“ABCDDCBA”。改正程序中的错误!... 函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s所指字符串为“ABCD”,则t为“ABCDDCBA”。改正程序中的错误!
#include<stdio.h>
void fun(char *s,char *t)
{
char*p,*q;
for(p=s,q=s;p!='\0';p++,q++)
{
for(;p>=s;p--,q++)
{
*q=*p;
}
}
}

void main()
{
char s[100],t[100];
printf("Please input string S:");
gets(s);
fun(s,t);
printf("\nThe result is:%s\n",t);
}

求学霸指教,非常感谢!
代码打错了,原版是
for(p=s,q=t;p!='\0';p++,q++)
展开
 我来答
无忧网事
2012-12-25 · TA获得超过899个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:282万
展开全部
函数fun()不对。修改如下:
void fun(char *s,char *t)
{
char*p,*q;
q=t;
for(p=s;p!='\0';p++,q++) *q=*p;
for(;p>=s;p--,q++) *q=*p;
}
追问
可是程序还是没办法运行。。。
追答
将函数改为:
void fun(char *s,char *t)
{
char*p,*q;
q=t;
for(p=s;p!='\0';p++,q++) *q=*p;
for(;p>=s;p--,q++) *q=*p;
*q='\0'; /*补一个串结束标志*/
}
zjy93513
2012-12-27 · 超过17用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:34.4万
展开全部
同学,你的t在fun函数有被赋值吗?没有被赋值你让它显示什么啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-12-25
展开全部
卧槽 本来想给你改的 看你写个求学霸就彻底没有兴趣了。。
追问
我觉得能该这道题的都是学霸!
追答
不是学霸也能会啊==
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ec39437d4
2012-12-25 · TA获得超过225个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:304万
展开全部
弱弱的问下是不是二级考试那样的更改规则?
追问
是的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式