
为什么?一道C题目大家帮帮忙
#includemain(){charb[30],*chp;strcpy(&b[0],"CH");strcpy(&b[1],"DEF");strcpy(&b[2],"AB...
#include
main( )
{ char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s \n",b);
}
答案CDABC能详细解释下吗? 展开
main( )
{ char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s \n",b);
}
答案CDABC能详细解释下吗? 展开
展开全部
char b[30],*chp;
此时b=______________________________
strcpy(&b[0],"CH");
此时b=CH0___________________________
strcpy(&b[1],"DEF");
此时b=CDEF0_________________________
strcpy(&b[2],"ABC");
此时b=CDABC0________________________
以上_表示未知内容的字节,0表示'\0'
&b[0]是b第0位的地址
&b[1]是b第1位的地址
&b[2]是b第2位的地址
因为数组是连续分配内存的,所以strcpy会覆盖后面的字节
字符串以'\0'结束
此时b=______________________________
strcpy(&b[0],"CH");
此时b=CH0___________________________
strcpy(&b[1],"DEF");
此时b=CDEF0_________________________
strcpy(&b[2],"ABC");
此时b=CDABC0________________________
以上_表示未知内容的字节,0表示'\0'
&b[0]是b第0位的地址
&b[1]是b第1位的地址
&b[2]是b第2位的地址
因为数组是连续分配内存的,所以strcpy会覆盖后面的字节
字符串以'\0'结束
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |