请各个大虾帮忙解释一下哦 我是新学C语言的,都不懂哦

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:51:58
#include<stdio.h>
#include<string.h>
main()
{ char *p1,*p2,str[50]="abc";
p1="abc"; p2="abc";
strcpy(str+1, strcat(p1,p2));/*最主要这个str+1是什么意思啊,我不懂哦,它不是指向数组的第一位b吗?*/
printf("%s\n",str);
}
还有就是答案得多少捏?怎么得的啊?麻烦 大虾帮解释了哦

这个程序我运行了下,没有结果。。。
不过按照程序的功能可以分析出来结果,可能不太准确,抛砖引玉啊,呵呵
应该输出aabcabc
首先执行strcat(p1,p2),把p2接到p1的后面,然后执行strcpy,把接好的字符串从str数组的第二位开始复制,就变成aabcabc了

这个程序好像有问题哦,还有str+1是指从第二个元素b的位置开始粘贴p1、p2串联后的字符串