当前位置: 代码迷 >> C语言 >> 这两段程序的区别在哪里啊
  详细解决方案

这两段程序的区别在哪里啊

热度:242   发布时间:2006-09-30 20:25:28.0
这两段程序的区别在哪里啊

一、for(;*from!='\0';from++,to++) *to=*from;


二、if(*from!='\0')
{
*to=*from;
to++;
from++;
}

请问这段程序的功能区别在哪里啊(我觉得功能是一样的)!
为什么结果会不一样呢????


----------------解决方案--------------------------------------------------------
至少区别在于一个循环,一个条件判断。还有这两段程序不完整。
----------------解决方案--------------------------------------------------------
以下是引用lxzlovewtt在2006-9-30 20:25:28的发言:

一、for(;*from!='\0';from++,to++) *to=*from;


二、if(*from!='\0')
{
*to=*from;
to++;
from++;
}

请问这段程序的功能区别在哪里啊(我觉得功能是一样的)!
为什么结果会不一样呢????

分解一下:for(;*from!='\0';from++,to++) *to=*from;
for(;*from!='\0';)
{
*to=*from;
to++;
from++;
}

现在楼主知道了吧,一个是做一次,一个是做一个循环.(若干次)


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

假如我先定义
char *from="chinese",*to;

这样两段程序不是一样的吗????


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

功能难道不是把chinese赋值给to吗?


----------------解决方案--------------------------------------------------------
哦!!!我知道了,,不好意思啊,,
----------------解决方案--------------------------------------------------------

字符串拷贝函数strcpy()


----------------解决方案--------------------------------------------------------
一次和多次能一样吗?
----------------解决方案--------------------------------------------------------
  相关解决方案