求解C语言指针,讲解越详细越好

发布网友

我来回答

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com