指针的问题

o652450 2010-07-13 05:57:39
main()
{
char *p1=“name”;
char *p2;
p2=(char*)malloc(20);
memset (p2, 0, 20);
while(*p2++ = *p1++);
printf(“%sn”,p2);

}

Answer:empty string.

为什么p2得不到值?
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphiwcdj 2010-07-13
  • 打赏
  • 举报
回复
lss 正解
liutengfeigo 2010-07-13
  • 打赏
  • 举报
回复
wing_0706 2010-07-13
  • 打赏
  • 举报
回复
你们好快。。。。
wing_0706 2010-07-13
  • 打赏
  • 举报
回复
p2不能移动啊。。都移到最后一个了你。。
p2记住 首地址啊!!


#include <stdio.h>
#include <stdlib.h>
int main()
{
char *p1="name";
char *p2, *p3;
p2=(char*)malloc(20);

p3 = p2;
// memset (p2, 0, 20);
while(*p3++ = *p1++);//while(*p2++ = *p1++);

printf("%s\n",p2);
return 0;
}
phpjspasp 2010-07-13
  • 打赏
  • 举报
回复
ls正解。
pengzhixi 2010-07-13
  • 打赏
  • 举报
回复
char *p1=“name”;
char *p2,*p3;
p3=p2=(char*)malloc(20);
memset (p2, 0, 20);
while(*p2++ = *p1++); //因为你这p2已经指到字符串尾了
printf(“%sn”,p3);

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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