c++中的题目求大佬帮忙,执行结果和分析步骤

char *p="abcdefgh";p+=3court<<strlen(strcpy(p,"ABCD"))<<endl;
2025-05-13 18:06:13
推荐回答(1个)
回答(1):

执行结果是 4,因为在执行的时候,首先将p定位到a的位置,p+3就到了d的位置,这时候字符串p的内容就是 defgh, 然后通过strcpy执行字符串复制,也就是吧 defgh 替换成 “ABCD”,其中隐藏一个字符‘\0’,会把原来的字符串“defgh”替换,所以最后的结果是4