标题:出现"...指令引用的...内存,该内存不能是written”,到底哪里出错了...
只看楼主
悦雨君
Rank: 1
来 自:安阳
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-8-1
结帖率:100%
已结贴  问题点数:20 回复次数:7 
出现"...指令引用的...内存,该内存不能是written”,到底哪里出错了...
#include "stdio.h"
#include "conio.h"
void mul(int a[],int n)
{
  int i;
  for(i=0;i<=n;i++)
      a[i]*=2;
}
main()
{
    int array[]={0,1,2,3,4,5,6,7,8,9};
    int i;
    mul(array,10);
    for(i=0;i<10;i++)
      printf("%d ",array[i]);
    printf("\n");

}
搜索更多相关主题的帖子: 内存 void written include 
2011-08-01 16:24
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
得分:5 
什么编译器?
2011-08-01 16:32
悦雨君
Rank: 1
来 自:安阳
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-8-1
得分:0 
软件是vc++ 6.0,什么是编译器...
2011-08-01 16:34
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
得分:5 
应该不会的。
for(i=0;i<=n;i++) 改成 < 就没问题了
2011-08-01 16:37
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
得分:5 
主函数中数组大小默认为10,下标也就是从0到9,你的mul中for循环是从0到10所以会出现内存访问错误。a[10]是没有定义的内存;
2011-08-01 16:38
qazujm1212
Rank: 2
等 级:论坛游民
帖 子:24
专家分:24
注 册:2011-3-23
得分:5 
#include "stdio.h"
int array[]={0,1,2,3,4,5,6,7,8,9};
void mul(int n)
{
  int i;
  for(i=0;i<n;i++)
      array[i]*=2;
}
int main()
{
    int i;
    mul(10);
    for(i=0;i<10;i++)
      printf("%d ",array[i]);
    printf("\n");
    return 0;
}
2011-08-01 16:39
悦雨君
Rank: 1
来 自:安阳
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-8-1
得分:0 
回复 3楼 悦雨君
改后我试了试,没问题了,谢谢啦
2011-08-01 16:46
悦雨君
Rank: 1
来 自:安阳
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-8-1
得分:0 
回复 6楼 qazujm1212
呵呵,我明白了,谢了
2011-08-01 16:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-346547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.822222 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved