请教C语言的一道题~
发布网友
发布时间:2023-09-07 15:39
我来回答
共1个回答
热心网友
时间:2023-09-17 07:30
sizeof(p)是指的p作为一个字符数组所占的存储空间,由于p被声明为char p[20],所以sizeof(p)为20。
strlen(p)是求的p中所存放的字符串的长度,
strcpy(p+strlen(q),r); //strlen(q)也就是字符串"abc"的长度,也就是3
所以strcpy(p+strlen(q),r);也就是strcpy(p+3,r),
也就是将字符串"abcde"拷贝到以p[3]为起始的空间(所以p[3]中原来的'd'也被覆盖了),
所以处理后,p中存放的字符串为"abcabcde"
strcat(p,q);
这个处理的作用是将字符串q接到字符串p后面,也就是将"abc"接到"abcdabcde"后面,所以处理后,p中存放的字符串为"abcabcdeabc"
所以最后,p中存放的字符串为"abcabcdeabc",字符串长度为11
所以程序运行后的输出结果是:20 11