永发信息网

这道C语言题怎么解

答案:3  悬赏:60  手机版
解决时间 2021-04-20 08:38
  • 提问者网友:鐵馬踏冰河
  • 2021-04-19 13:17
下面程序的输出结果是 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
详细告诉我解题步骤和跟书本哪一章节有关
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 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”。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯