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

C语言数组题(3)

首页

C语言数组题(3)

下面能正确进行字符串赋值操作的语句是(  )
A.char s[5]={"ABCDE"};
b.char s[5]={'A','B','C','D','E'};
c.char *s="ABCDEF";
d.char *s;scanf("%s",s);

C是对的,  但是B为什么不对?不解

提交回答
好评回答
  • 2019-02-24 18:07:36
    这么说吧!这道题问得不是很明确
    如果按照我的理解
    下列字符串赋值语句正确的是:()
    如果题目是这个意思,确实是C正确,因为B进行的并不是字符串赋值,而是字符数组,这样赋值出来的字符数组不能当字符串使用,因为没有字符串的结束符'\0',如果作为字符串使用,会造成程序输出异常甚至异常中止。这样的变量只能是字符数组。
    而C赋值出来的指针是不能改变其值的(除非为改变其指向的地址),因为它所获得的地址是字符串常量的地址,地址内的值是常量不能改变。

    愚***

    2019-02-24 18:07:36

其他答案

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 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
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):