|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 画载舟中 于 2019-10-3 06:30 编辑
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char s[] = "123456789";
- char *p1=s;
- char *p2=s+2;
- printf("p2=%s\n",p2); //p2=3456789
-
- memcpy(p2,p1,5);
- printf("memcpr(p2,p1,5)\n p2 = %s\n",p2); //p2= 1234589
-
- memmove(p2,p1,5);
- printf("memmove(p2,p1,5)\np2 = %s",p2); //p2=1212389
-
- return 0;
- }
复制代码
为什么
memmove(p2,p1,5);
printf("memmove(p2,p1,5)\np2 = %s",p2); //p2=1212389 ??为什么得出这个值?
我看懂了,你再看一看这个,看看能不能理解
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char s[] = "123456789";
- char *p1 = s;
- char *p2 = s + 2;
- printf("p1 = %s\tp2 = %s\n", p1, p2);
- memcpy(p2, p1, 5);
- printf("p1 = %s\tp2 = %s\n", p1, p2);
- memmove(p2, p1, 5);
- printf("p1 = %s\tp2 = %s\n", p1, p2);
- return 0;
- }
- /*
- p1 = 123456789 p2 = 3456789
- p1 = 121234589 p2 = 1234589
- p1 = 121212389 p2 = 1212389
- 请按任意键继续. . .
- */
复制代码
|
|