[理工] 中正资结

楼主: rex51920594 (rex51920594)   2018-11-25 15:40:09
https://imgur.com/YIjeBpT
想请问这种题目要怎么去想才能解出...
不太清楚方向
作者: skyHuan (Huan)   2018-11-25 16:59:00
list是地址的数值,而*list是在地址里面的资料,list就是整个array的起始位址,也就是list[0]的地址如果array[0]的地址是100,那array + 1 = 101而地址的+1是加上代表那个array的一个"元素"大小所以*(array+1)是只起始位址加一个元素大小假设是double的阵列,一个元素占8个byte,就是要找108地址里面的元素,也就是要找array[1]里面的元素是什么应该是这样,有说错再请其他人补充XD
作者: plsmaop (plsmaop)   2018-11-26 09:35:00
用c99的编译器编译看看,多试几次大概就知道是怎样的规律了一个double是8bytehttps://bit.ly/2FDH1cQ
作者: b0920075 (Void)   2018-11-26 10:59:00
第一题代数字进去,第二题double 8byte 所以起始位置 +目录乘以八第三楼的回答我看到一开始会错意XDD
作者: skyHuan (Huan)   2018-11-26 11:26:00
所以我说的是错的吗>< 是讲相反了吗QQ我好像说错了,地址变量加都是加一个元素的大小,所以上面举的例子要改成如果array[0]的地址是100,那array + 1= 108,有测试了一小段扣的可以参考https://pastebin.com/iXBFr4L3
作者: st945712 (st945712)   2018-11-26 15:01:00
不好意思可以问一下这题的解答吗??身边没有电脑让我直接trace一次QQ 想知道答案
作者: skyHuan (Huan)   2018-11-26 15:13:00
上面code的注解有写出答案唷 (A) 9.6. (B) 0x456749
作者: Dora5566 (咩休干某)   2018-11-26 16:05:00
表示他们要刷掉没写过程式的中字辈都蛮爱给code,考你output,最好花时间写一下C或Java
作者: aggress5566 (哩贺)   2018-11-26 19:16:00
他上面题目是什么 我看addressing似乎不是32 bitsdouble 直接断定是8 搞不好会被扣点分
作者: Dora5566 (咩休干某)   2018-11-26 22:17:00
楼上提醒了 这是24bit
作者: TEPLUN (mihanami)   2018-11-27 12:29:00
456749是32bit的答案吧 如果是24bits 是456759?
作者: b0920075 (Void)   2018-11-27 14:41:00
我以为地址是随便设的...我以为三楼的例子是拿char array当例子 XDD
作者: aggress5566 (哩贺)   2018-11-27 23:25:00
看起来一定是随便设阿XDD 我的话我会写sizeof

Links booklink

Contact Us: admin [ a t ] ucptt.com