锁定老帖子 主题:神奇的面试题, 好玩的很。有能力的看看
精华帖 (0) :: 良好帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-07
巧克力饼干 写道 刚测试了下,const的值确实改了,但是用的时候仍然是原来的值。。。估计const类型在编译后会将值存放在其他位置进行使用,C估计是解决不了这个问题了
k和i的地址完全相同,但是打印出来的结果却不一样。 测试 ?在不能修改源码的情况下 |
|
返回顶楼 | |
发表时间:2011-12-07
cttnbcj 写道 巧克力饼干 写道 const的值确实能改,不过不太明白什么叫“不改变源码的情况下如何做到?”
就是不能修改上面的代码 意思是上面的不能改,自己新增一部分代码? 还是说一个空格都不能改? |
|
返回顶楼 | |
发表时间:2011-12-07
巧克力饼干 写道 cttnbcj 写道 巧克力饼干 写道 const的值确实能改,不过不太明白什么叫“不改变源码的情况下如何做到?”
就是不能修改上面的代码 意思是上面的不能改,自己新增一部分代码? 还是说一个空格都不能改? 不能修改增加任何代码 |
|
返回顶楼 | |
发表时间:2011-12-07
最后修改:2011-12-07
cttnbcj 写道 巧克力饼干 写道 cttnbcj 写道 巧克力饼干 写道 const的值确实能改,不过不太明白什么叫“不改变源码的情况下如何做到?”
就是不能修改上面的代码 意思是上面的不能改,自己新增一部分代码? 还是说一个空格都不能改? 不能修改增加任何代码 在debug时候改 |
|
返回顶楼 | |
发表时间:2011-12-07
C语言 我已经不认识它了,还加上了汇编....
|
|
返回顶楼 | |
发表时间:2011-12-07
这个代码直接运行还是不行的,
强制运行会指针非法访问报错。 汇编部分只是用了两个寄存器而已, 如果const去掉就能通过的。 |
|
返回顶楼 | |
发表时间:2011-12-07
最后修改:2011-12-07
楼下有人debug出来了。。。
其实我在想有没有走 编译参数 的路子。。。 |
|
返回顶楼 | |
发表时间:2011-12-07
最后修改:2011-12-07
raojl 写道
这个代码直接运行还是不行的,
强制运行会指针非法访问报错。 汇编部分只是用了两个寄存器而已, 如果const去掉就能通过的。
|
|
返回顶楼 | |
发表时间:2011-12-07
看不懂啦 迷糊。。
|
|
返回顶楼 | |
发表时间:2011-12-08
我以为是脑筋急转弯 换个编译器什么的。。。
|
|
返回顶楼 | |