下面程序段的运行结果是( ).char *p="abcdefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")为什么不是7."abcABCD"?急
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 05:00:11
![下面程序段的运行结果是( ).char *p=](/uploads/image/z/7154193-57-3.jpg?t=%E4%B8%8B%E9%9D%A2%E7%A8%8B%E5%BA%8F%E6%AE%B5%E7%9A%84%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF%28+%29.char+%2Ap%EF%BC%9D%22abcdefgh%22%EF%BC%9B+p%EF%BC%8B%EF%BC%9D3%EF%BC%9B+printf%28%22%25d%5Cn%22%2Cstrlen%28strcpy%28p%2C%22ABCD%22%29%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E6%98%AF7.%22abcABCD%22%3F%E6%80%A5)
下面程序段的运行结果是( ).char *p="abcdefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")为什么不是7."abcABCD"?急
下面程序段的运行结果是( ).char *p="abcdefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")
为什么不是7."abcABCD"?急
下面程序段的运行结果是( ).char *p="abcdefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")为什么不是7."abcABCD"?急
halps 说得有道理
strcpy的实现代码
char * strcpy(char * strDest,const char * strSrc)
{
char * strDestCopy=strDest; //[3]
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "Invalid argument(s)"; //[2]
while ((*strDest++=*strSrc++)!='\0'); //[4]
return strDestCopy;
}
函数把‘\0’也拷贝进去了的,而strlen也是取得‘\0’之前的