当前位置: 代码迷 >> C语言 >> 为什么会“烫”?!
  详细解决方案

为什么会“烫”?!

热度:408   发布时间:2006-08-22 14:06:05.0
为什么会“烫”?!
#include<stdio.h>
void main()
{
char str1[20]="accp"; //初始化字符串
char str2[20];
char *ptr1,*ptr2; //定义指针
int i=0;

ptr1=str1;
ptr2=str2;
for(;i<20;i++)
{
if(*ptr1!='\0')
{
ptr2=ptr1; //复制过程
}
}
ptr2='\0';
printf("%s\n",str2); //输出结果
}


谁能告诉我为什么运行结果是
烫烫烫烫烫烫烫烫烫烫烫烫accp
搜索更多相关的解决方案: accp  include  

----------------解决方案--------------------------------------------------------

ptr是指针,不是内容,复制的是内容,不是指针.
while(*ptr1)
*ptr2++=*ptr1++;
*ptr2='\0';


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-22 08:28:43
soft_wind

等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
  得分:0 
不会,而且是最简单的写法了.只不过,让楼主更难体会自己的错误。
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-22 10:17:13
无理取闹

等 级:贵宾
威 望:53
帖 子:4267
专家分:0
注 册:2006-7-26
  得分:0 
for(;;)
{}
这个是c么?
----------------解决方案--------------------------------------------------------
for(;;);是个语义不好理解的死循环..
和While(1)一样常用


----------------解决方案--------------------------------------------------------
以下是引用candc在2006-8-22 19:58:57的发言:
for(;;);是个语义不好理解的死循环..
和While(1)一样常用

楼上的真没幽默感
----------------解决方案--------------------------------------------------------
我本来就没有幽默感,哎...
----------------解决方案--------------------------------------------------------

  相关解决方案