爱问知识人 爱问教育 医院库

C语言字符数组与字符串问题

首页

C语言字符数组与字符串问题

char c[10]={'H','E','L','L','O','!',''};这里不需要显示地给出字符串结束标志'',
而char c[ ]={'H','E','L','L','O','!',''};则要显示地给出字符串结束符'',为什么?C语言字符数组与字符串问题

提交回答

全部答案

    2018-11-10 01:42:05
  • 楼上回答的很正确

    史***

    2018-11-10 01:42:05

  • 2018-11-10 01:36:51
  • 第一,数组长度为10,实际给的不够,系统分配10个单元,前面几个赋值,后面的为系统默认值。
    第二,为自动长度,有几个,系统分几个,并赋值。
    严格说,都要加0,第一个,系统分配10个单元,有的系统会置初值0,有的随机。然后,c[0]=‘H’,c[1]=‘E’,c[2]=‘L’,c[3]=‘L’,c[4]=‘O’,c[5]=‘!’,其他原来就是0

    袁***

    2018-11-10 01:36:51

  • 2018-11-10 01:34:09
  •   1。若指定了数组长度,则c编译器会自动在你的后面加上作为结束标志(若里面已经主动添加,则以你添加的位置作为结束位置)。
    2。若未定义长度的数组在定义时赋值,则必需告诉编译器字符数组的长度。若指定则表示你主动告知其字符串的结束位置(所以,未定义长度的数组在声明时不一定非得要以结束)。
      
    未定义长度的数组在声明时不一定非得要以结束,编译器仍然也会自动地在最后添加作为结束符的。
    是的,定义常量字符数组一般系统自动的。如 char str[]={"Hello !"};
    若里面有个的话,如char str[]={"Hello !"},则赋值结果为Hell,
    char str[]={"Hello !"}等同于char str[]={'H','e','l','l',' ', '!',''}。
      明白了没?。

    王***

    2018-11-10 01:34:09

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):