鱼C论坛

 找回密码
 立即注册
查看: 2143|回复: 13

[已解决]求助:《带你学C带你飞》S1E22 第2题

[复制链接]
发表于 2017-7-25 02:58:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:
请问str[20]是否可以写成20[str]?

小甲鱼提供的答案是:
可以。因为在访问数组的元素的时候, 数组名被解释为数组第一个元素的地址。所以str[20]==*(str+20)==*(20+str)==[20]str

不是很理解这个答案,请问请可以详细解释一下?(题目说的是20[str],答案里是[20]str?)


谢谢!
最佳答案
2017-7-26 09:39:16
这个你需要了解一下汇编语言里说的用于数组的相对寻址方式:idata[di]
idata是一个常数(比如20),[di]相当于基准地址(比如[数组名])
所以其实这是一种汇编化的写法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-25 10:57:21 | 显示全部楼层
本帖最后由 ba21 于 2017-7-25 10:59 编辑

你有实地测式吗?小甲鱼老师就该没有这么说过吧!
str[20] 不等于 20[str]没有这样的写法,首先C的语法就强调了不能以数字开头。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-25 11:52:01 | 显示全部楼层
ba21 发表于 2017-7-25 10:57
你有实地测式吗?小甲鱼老师就该没有这么说过吧!
str[20] 不等于 20[str]没有这样的写法,首先C的语法就强 ...

原题与答案出处:
http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D570

我也感觉20[str]可能是写错了,但[20]str,也没有这种写法吧?。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-25 11:55:52 | 显示全部楼层
huiwenwu 发表于 2017-7-25 11:52
原题与答案出处:
http://bbs.fishc.com/forum.php?mod=viewthread&tid=72205&extra=page%3D1%26filter% ...

你直接问老师看看,是不是你理解错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-25 12:11:31 | 显示全部楼层
ba21 发表于 2017-7-25 11:55
你直接问老师看看,是不是你理解错了

怎么问啊,似乎他从不会回复啊。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-25 12:17:56 | 显示全部楼层
huiwenwu 发表于 2017-7-25 12:11
怎么问啊,似乎他从不会回复啊。。。

把你的问题,加刚刚那个页面发个私信看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-25 12:23:33 | 显示全部楼层
ba21 发表于 2017-7-25 12:17
把你的问题,加刚刚那个页面发个私信看看

好的,谢谢!我试试

我似乎开始有点理解了(首先应该不是题目出错因为E23有一道题也是类似的),说的str[20]==20[str]是说在取值的时候两者相等,因为都会解释为*(str+20)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-26 09:39:16 | 显示全部楼层    本楼为最佳答案   
这个你需要了解一下汇编语言里说的用于数组的相对寻址方式:idata[di]
idata是一个常数(比如20),[di]相当于基准地址(比如[数组名])
所以其实这是一种汇编化的写法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-26 14:36:10 | 显示全部楼层
Greenhat 发表于 2017-7-26 09:39
这个你需要了解一下汇编语言里说的用于数组的相对寻址方式:idata[di]
idata是一个常数(比如20),[di]相 ...

好的,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-4 09:50:59 | 显示全部楼层
大神,你好,由于我的级别很低,想加您好友,留言,都不行,只好冒昧评论一下了。我是新手,刚学这个。在鱼哥《带你学c带你飞》-配置CentOS并安装GCC这里,做到第8步,ping bbs.fishc.com这里,怎么也ping不了,ping其他的也不行,第9步也安装不了,是什么愿意呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-4 13:53:22 | 显示全部楼层
hetuzaixian 发表于 2017-8-4 09:50
大神,你好,由于我的级别很低,想加您好友,留言,都不行,只好冒昧评论一下了。我是新手,刚学这个。在鱼 ...

我水平也不高,我是在linux下运行的,自带安装了gcc,所以没有安装的问题。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-4 13:55:27 | 显示全部楼层
hetuzaixian 发表于 2017-8-4 09:50
大神,你好,由于我的级别很低,想加您好友,留言,都不行,只好冒昧评论一下了。我是新手,刚学这个。在鱼 ...

建议真要学这个还是装个linux吧,双系统或者虚拟机。。。实在不行花钱买个苹果也行阿

感觉这个论坛人不是很多,帖子问题回复很慢或者基本没有。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-4 16:19:15 | 显示全部楼层
huiwenwu 发表于 2017-8-4 13:55
建议真要学这个还是装个linux吧,双系统或者虚拟机。。。实在不行花钱买个苹果也行阿

感觉这 ...

谢谢
今天试着在电脑上安装VMware workstation 9,出现了一个问题,鼓捣半天了。Fatal Application Error:The path '' is malformed.(class cui::Error).
搜索态度,说“把文件夹里的隐藏文件都弄出来,把隐藏系统文件的钩去掉”,我试了不行。
还有说“解决办法是:在vmware文件夹里找到 绿化.CMD(或者是安装.bat) 这个文件运行一下,再安装虚拟机,就不会提示上述问题了!!‘,我找到了一个”unattend.cmd“,运行了一下。
然后出现了这样一个问题,”windows找不到文件C:\Users\ADMINI~1\AppData\Local\Temp\upgrade.exe'请确定文件名是否正确,再试一次。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-4 16:20:30 | 显示全部楼层
hetuzaixian 发表于 2017-8-4 16:19
谢谢
今天试着在电脑上安装VMware workstation 9,出现了一个问题,鼓捣半天了。Fatal Application Error ...

你好,你的qq是多少啊,可以加你qq吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 13:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表