下面程序的输出结果是 A 。
#include
main()
{char pl[20]=”abc”,*p2=”ABC”,str[50]=”xyz”;
strcpy(str+2,strcat(p1,p2));
printf(“%s\n”,str);
}
(69) A、zabcABC B、xyzabcABC C、yzabcABC D、xyabcABC
详细告诉我解题步骤和跟书本哪一章节有关
这道C语言题怎么解
答案:3 悬赏:60 手机版
解决时间 2021-04-20 08:38
- 提问者网友:鐵馬踏冰河
- 2021-04-19 13:17
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-04-19 13:52
这个跟字符串有关,str+2是数组首指针加2位即str+2=“z”,strcat是把两个数组组合,strcat和strcpy具体功能你参考下书本会印象深刻点,所以strcat(p1,p2)=“abcABC“,那么strcpy(str+2,strcat(p1,p2))=”zabcABC“
全部回答
- 1楼网友:冷風如刀
- 2021-04-19 15:11
#include main() {char pl[20]=”abc”,*p2=”ABC”,str[50]=”xyz”; strcpy(str+2,strcat(p1,p2));//str+2相当于 str[2]=z,即 str=z;strcat(p1,p2)两字符串相连接,即abcABC,
//在进行复制。所zabcABC printf(“%s\n”,str); }
- 2楼网友:举杯邀酒敬孤独
- 2021-04-19 14:05
str+2等于把指针后移2位,str="z"。
strcat(p1,p2)=“abcABC”。
str=strcpy(str+2,strcat(p1,p2))=“zabcABC”。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯