请各位前辈指点一下~ 字符串连接程序 将数组b中的字符串连接到数组a中字符串的末尾 用指针实现

tiana_fengle 2010-02-28 12:32:37
#include<stdio.h>
#include<string.h>
main()
{
char a[100],b[30],*pa,*pb;
pa=a;
pb=b;
gets(pa);
gets(pb);
while(*pa!='\0')
pa++;
while(*pb!='\0')
{
*pa=*pb;
pa++;
pb++;
}
*pa='\0';
puts(a);}/*和puts(pa)的结果不一样 如果gets(pa)为as gets(pb)为df 则puts(a)就是aspb 而puts(pa)什么也不显示 问题 为什么运行结果不一样呢? */
...全文
566 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tang056 2010-02-28
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <string.h>

int main(void)
{
char a[100],b[30],*pa,*pb;
pa=a;
pb=b;
gets(pa);
gets(pb);
while(*pa!='\0')
pa++;
while(*pb!='\0')
{
*pa=*pb;
pa++;
pb++;
}
*pa='\0';
puts(a);

return 0;
}
白云飘飘飘 2010-02-28
  • 打赏
  • 举报
回复
你的代码看起来没有问题
昵称很不好取 2010-02-28
  • 打赏
  • 举报
回复
你的代码没问题,把pb加到pa的后面,如果gets(pa)为as gets(pb)为df 则puts(a)就是asdf,不可能为aspb;
因为pa此时所指空间第一个字符就是\0,所以puts(pa),你什么都不会看到
昵称很不好取 2010-02-28
  • 打赏
  • 举报
回复
引用 4 楼 tiana_fengle 的回复:
我想请问下3楼的前辈 为什么要添加return 0呢

main需要返回一个int型值,return 0表示程序执行成功
一般不要用void main
TheEighthDay 2010-02-28
  • 打赏
  • 举报
回复
向楼上学习,哈哈.....
tiana_fengle 2010-02-28
  • 打赏
  • 举报
回复
我想请问下3楼的前辈 为什么要添加return 0呢

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧