请各位看看这个C语言自定义函数

void copy(char to[ ],char from[ ])
[
int i;
i=O;
while ((to[i]=from[i]) !='\0')
++i
]
我是新手,请教这是什么原理,如何使用

请问有什么问题吗追问

流程是什么,怎么看

追答

拷贝函数,就是从from数组考到to数组里面
while ((to[i]=from[i]) !='\0')
++i
这2行代码,让to[i]的每一个字符等于from[i]的每一个字符,直到遇到\0,即数组最后

追问

请问++i有什么用

追答

i从0开始累加啊

追问

可是累积的数字啊,这是表明长度吗,那字符串复制到哪?

追答

不是有个while 的条件么 !='\0' 直到数组的结尾,就是到\0

他这代码的妙处就是复制和条件写在一起的
(to[i]=from[i])这里是复制, !='\0' 这是条件

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-17
复制字符串,目标字符串是第一个参数,源字符串是第二个参数,原理就是判断字符串末尾的'\0',遇到'\0'之前的每个字符都复制到to字符串中,这个函数没有进行错误检查,需要小心使用追问

请问哪个语句表明了复制

请问哪个语句表明了复制

追答

(to[i]=from[i]) !='\0'

to的第i个元素复制为from的第i个元素,当to的第i个元素不为'\0'时继续循环

风险在于,传入参数是空指针,野指针,或是to数组容量不足造成越界

相似回答