发布网友
共3个回答
热心网友
您好,很高兴回答您的问题。
您的这个程序,主函数中的第一句话表示p1 和str都是数组名,指向数组中的第一个元素。p2是指针变量,指向的是字符型数据。第二句话表示p2这个指针变量指向的是包含有abc等三个元素的字符型数组。strcpy(str+1,strcat(p1,p2))表示现将p2所指向的内容添加到p1这个数组的结尾处,并且存放在p1中,那么做完之后p1里的内容为abcabc。接下来执行strcpy(str+1,p1)表示把此时p1中的内容拷贝到str中,是从str+1这个位置开始。因为str是数组名,指向的是数组的第一个元素,那么str+1,就是从str数组的第二个元素位置开始,所以最终得到的结果就是aabcabc。
以上就是我对这个问题的回答,希望您能帮助到您。
热心网友
答案C是正确的。
热心网友
strcat(p1,p2):将p2添加到p1字符串之后,p1["abcabc"], 返回值p1
strcpy(str+1,p1): 将p1中现有字符串复制到str字符串第1个位置开始的单元, str["aabcabc"]
printf输出:aabcabc