猿问
怎样理解“strcat在使用时s1与s2指的内存空间不能重叠”
小雾3378873
浏览 2187
回答 3
3回答
super_mb
我觉得strcat函数的功能应该是这样实现的:while(*s1) //读到s1的结尾{ s1++;}while(*s1++ = *s2++) //将s2拼接到s1后面{ NULL;}照上面的代码来看,如果s1和s2内存空间是重叠的,那么s2和s1的结尾肯定是一样的,则当你把s2的每一个字符加到s1后,s2本身最后也会加上这个字符,于是第二个循环会一直循环下去。 所以规定不能重叠吧。
4
0
3
慕村2869945
strcat
0
0
0
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
我要回答