小Caabbage 2022-10-10 08:34 采纳率: 95.2%
浏览 22
已结题

数组不能直接赋值,可是我以前一直在这样用啊

今天在视频里突然看到,数组不能直接赋值。可是我之前一直都是

char a[100]="Hellow world!";

这样用的,这样用起来感觉没问题啊,怎么今天突然就说不行了啊,很晕,求指教。

  • 写回答

3条回答 默认 最新

  • 於黾 2022-10-10 09:00
    关注

    初始化赋值和赋值是两个概念
    很多初始化赋值没问题的,你用到一般的赋值里都是语法错误
    比如const int a=12;
    a是个int型的常量,它可以初始化赋值,但是你再次赋值就会编译不通过
    还有int a[100]={0};
    你再次a={0}就不行了
    -=-=-=
    那么回到字符串数组的问题
    char a[100]="Hellow world!";
    是用字符串常量初始化数组a
    而再次执行a="Hellow world!"
    是将a的指针指向了字符串常量,那么你后续要修改a的元素肯定报错了

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

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月10日
  • 创建了问题 10月10日