当前位置: 代码迷 >> C语言 >> 内存不能written,谁能告诉我为什么?
  详细解决方案

内存不能written,谁能告诉我为什么?

热度:274   发布时间:2008-03-07 07:53:43.0
内存不能written,谁能告诉我为什么?
刚学C,做了一道题,一编译运行,我输完数字后,程序无法继续运行,提示如下
“0x77c14995”指令引用的“0x00000002”内存,该内存不能为“written”.
我以为是数据类型定义的不对,我改成int 后还是不行,总是提示内存不能为
written。谁能帮我分析一下,在这里先谢了!
搜索更多相关的解决方案: 内存  written  

----------------解决方案--------------------------------------------------------
呵呵,我找到了,问题出在scanf("%d",&a)中,我把&忘了,谁能给我讲讲存储方面的知识,简单说几句也行,在这里先谢了!!!!!!!
----------------解决方案--------------------------------------------------------
scanf("%d",&a)   %d 是你输入的数类型  这里%d为整型  %F 为符点型
                 &a  给输入的A  开辟地址空间  忘记&  不能输入没有地址存放
----------------解决方案--------------------------------------------------------
我记我好像看过有的例题,不带&,是不是也有这种情况,是怎样的情况下才可以?
----------------解决方案--------------------------------------------------------
不用&,会把a当成地址,造成写入错误...因为有些地址是系统保留的,不允许用户操作....
----------------解决方案--------------------------------------------------------
字符串数组名,指针.
----------------解决方案--------------------------------------------------------
int a=(int)&a;
scanf("%d",a);
本帖最近评分记录
2008-03-07 07:13:38
sunkaidong

来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4493
专家分:141
注 册:2006-12-28
  得分:0 
     int a;
    int b= (int)&a;
      scanf("%d",b);
----------------解决方案--------------------------------------------------------