找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4482|回复: 0

[分享] 我想了一个有趣的C基础题目,一个只能写不能读的指针

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2010-1-27 21:01:17 | 显示全部楼层 |阅读模式
  1. #include "stdafx.h"

  2. int main(int argc, char* argv[])
  3. {
  4. const int a = 0;
  5. int b = 0;
  6. int *p = NULL;
  7. p = ____;
  8. *p = 8;
  9. printf("%d\n", *p);
  10. return 0;
  11. }
  12. 请在_____填上一些东西,使其没有语法错误,并且在调试到printf那句的时候使程序崩溃掉。
  13. (言下之意,执行*p = 8的时候是一点问题都没有的)
  14. 其实就是指向自己的指针啦 , 哈哈 p = (int *)&p;
  15. 反汇编代码,一目了然
  16. 8: int *p = NULL;
  17. 00401028 mov dword ptr [ebp-4],0
  18. 9: p = (int *)&p;
  19. 0040102F lea eax,[ebp-4]
  20. 00401032 mov dword ptr [ebp-4],eax
复制代码
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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