字符数组函数

qdp2005 2007-03-04 09:13:16
一用于复制的函数
(1)
void copy_string(char *from,char *to)
{
for(;*from!='\0';from++,to++)
*to=*from;
*to='\0';
}

(2)
void copy_string(char *from,char *to)
{
while((*to=*from)!='\0')
{from++;to++;}
} \\这里为什么不用给数组to \\
\\添加*to='\0';呀,

...全文
217 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdp2005 2007-03-04
  • 打赏
  • 举报
回复
恩,确实如上所说 谢谢了!
zoco33 2007-03-04
  • 打赏
  • 举报
回复
同意一楼,最后一次循环时*from是'\0',*to=*from,此时已经把'\0'赋值给了*to。 此时(*to=*from)!='\0'表达式的值是假了,循环结束。
lockhall 2007-03-04
  • 打赏
  • 举报
回复
lz其实可以单步调试跟进下.- -;
snprintf 2007-03-04
  • 打赏
  • 举报
回复
(*to=*from)!='\0'
--------------------------
这个表达式先将 *from的值 赋给 *to 然后再判断 值是否为 '\0'.
即使 *from == '\0', 也要先把 *from 即'\0' 赋给 *to 然后与'\0'比较,表达式为假,退出循环,此时 *to 已经被赋成 '\0'.

69,371

社区成员

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

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