字典翻译 问答 小学 数学 若已定义chars[10];则在下面表达式中不表示s[1]的地址是.A)s+1B)s++C)&s[0]+1D)&s[1]若已定义chars[10];则在下面表达式中不表示s[1]的地址是.A)s+1B)s++C)&s[0]+1D)&s[1]为神马C错?打错了
问题标题:
若已定义chars[10];则在下面表达式中不表示s[1]的地址是.A)s+1B)s++C)&s[0]+1D)&s[1]若已定义chars[10];则在下面表达式中不表示s[1]的地址是.A)s+1B)s++C)&s[0]+1D)&s[1]为神马C错?打错了
问题描述:

若已定义chars[10];则在下面表达式中不表示s[1]的地址是.A)s+1B)s++C)&s[0]+1D)&s[1]

若已定义chars[10];则在下面表达式中不表示s[1]的地址是.

A)s+1B)s++C)&s[0]+1D)&s[1]

为神马C错?

打错了应该是为神马c是对的,那个+1不是应该在[]里面么?

骆军回答:
  b错了因为数组名是常量不能自加Cs[0]的地址再加一不就是s[1]的地址么?&s[0]+1=&s[1]
陈玉柱回答:
  s[0]的地址跟s[1]的地址不是相隔4么?不是应该+4么
骆军回答:
  不是的哦你说的是变量在内存里存放占得字节不同的变量之间是隔了本类型对应占得字节数但这里是两个地址上一个s[0]的地址下面就是s[1]的地址了
陈玉柱回答:
  就是因为char占的是1字节?
骆军回答:
  不是的丫这跟char占几个字节没关系如果你占得是4个字节的话1234存的是s[0],5678存的是s[1],就说在内存里s[0],s[1]的地址隔了4个字节。。但是这里是&s[0]+1取出s[0]的地址再加一这个一不是说的字节数好比指针指向下一个地址也就是s[1]的地址了
点击显示
数学推荐
热门数学推荐
  • 语文
  • 数学
  • 英语
  • 科学
  • 作文