strcpy函数相关!!
#include<string.h>#include<stdio.h>main(){charb[30],*chp;strcpy(&b[0],"CH");strcpy(&b...
#include<string.h>
#include<stdio.h>
main()
{
char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s\n",b);
}
这个题的 答案 是CDABC,不过,我不明白。还有,strcpy(s1,s2)函数把s2复制到s1之后,s1里的内容是否会改变?正常是如何改变? 展开
#include<stdio.h>
main()
{
char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s\n",b);
}
这个题的 答案 是CDABC,不过,我不明白。还有,strcpy(s1,s2)函数把s2复制到s1之后,s1里的内容是否会改变?正常是如何改变? 展开
展开全部
strcpy函数:
C语言标准库函数strcpy,把从src地址开始且含有'\0'结束符的字符串复制到以dst开始的地址空间。
原型声明:char *strcpy(char* dest, const char *src);
头文件:#include <string.h> 和 #include <stdio.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。
C语言标准库函数strcpy,把从src地址开始且含有'\0'结束符的字符串复制到以dst开始的地址空间。
原型声明:char *strcpy(char* dest, const char *src);
头文件:#include <string.h> 和 #include <stdio.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。
展开全部
b[i]只能存储一个char型的字符,"CH”是两个字符,所以会将'C’存储在b[0]中,由于数组的内存地址是连续分配的,所以会将'H'存储在b[1]中,系统自动在"CH"后加的字符串结束标识符'\0'存储在b[2]中;
同理,第二个strcpy将字符'D‘、'E'、'\0'依次存储在b[1]、b[2]、b[3]中;
第三个strcpy将字符'A'、'B'、'C'、'\0'依次存储在b[2]、b[3]、b[4]、b[5]中;
这样下来b[0]、b[1]、b[2]、b[3]、b[4]、b[5]存储的依次为C D A B C \0,系统在打印字符串的时候遇到'\0'时会停止。
char *strcpy(char *dest,char *src);
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
src字符串尾的字符串结束标识符'\0'也会被复制过去,复制完成后s1中的内容会被覆盖掉
同理,第二个strcpy将字符'D‘、'E'、'\0'依次存储在b[1]、b[2]、b[3]中;
第三个strcpy将字符'A'、'B'、'C'、'\0'依次存储在b[2]、b[3]、b[4]、b[5]中;
这样下来b[0]、b[1]、b[2]、b[3]、b[4]、b[5]存储的依次为C D A B C \0,系统在打印字符串的时候遇到'\0'时会停止。
char *strcpy(char *dest,char *src);
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
src字符串尾的字符串结束标识符'\0'也会被复制过去,复制完成后s1中的内容会被覆盖掉
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是这么回事 strcpy是把s2指的字符串 复制到是s1那 s1之后都没有了
第一个 把"CH"复制到b[0]那里 b就是CH
第二个 把"DEF"复制到b[1]那里 这个是从1开始的 所以C留下 b变成CDEF
第三个 同理 CD留下 就变成CDABC
第一个 把"CH"复制到b[0]那里 b就是CH
第二个 把"DEF"复制到b[1]那里 这个是从1开始的 所以C留下 b变成CDEF
第三个 同理 CD留下 就变成CDABC
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询