凌域 2023-03-08 10:35 采纳率: 70%
浏览 39
已结题

C语言 strcpy函数复制规则

#询问下复制结束后的s2字符串中的内容是什么?
是否为A与B与C与'\0'与空格与'\0这六个字符?因此会输出这个结果。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{

    char s1[] = "abc";
    char s2[] = "abc  ";
    char s3[] = "Abc";
    strcpy(s2, s3);
    for (int i = 0; i < 3; i++)
    {
        printf("%c#", s2[i]);
        
    }
    printf("\n");
    printf("sizeof(s2)=%d", sizeof(s2));






}

输出结果如下

img

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2023-03-08 10:39
    关注

    strcpy(s2, s3); 之后,s2字符串和s3字符串一样,也就是前四个字符是Abc及'\0',然后s2中后面保留了空格和'\0'。所以输出是A#b#c#
    sizeof(s2)的大小,由s2数组长度决定,s2初始化的字符串包括abc三个字符,以及两个空格,还有字符串结束符,所以s2实际长度为6

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line