中易网

c语言编程显示内存不能为read

答案:5  悬赏:20  
解决时间 2021-03-13 14:20
c语言编程显示内存不能为read
最佳答案
该提示出现在运行阶段,表示程序运行时访问了不可以访问的内存,即访问越界。
由于提示是不能read,所以是出现在读访问。一般有如下几种情况:
1 对数组访问越界。
常见于数组的循环访问,或以变量为下标导致超出数组定义范围。
对于C语言数组,定义或分配了n个元素的空间时,下标或指针移动只允许在0~n-1范围内进行,超出这个范围即为越界,会导致不可预知后果,其中一种即为内存不能read。
2 对字符串访问或输出时,字符串中没有赋值结束符\0.
C语言的字符串操作,均以\0作为结束标志。
如果字符串中没有指定结束符,那么函数会一直访问下去,导致超过字符串定义的空间范围,从而出现内存不能为read提示。
3 指针强制转换。
当目标指针类型所占用空间,超过了原本指针指向地址分配的内容时,按照新指针访问,会导致越界。
比如定义一个10字节的结构体变量,然后把地址强制赋值给一个100字节的结构体指针类型,那么通过后者去访问后90字节范围时,就属于越界操作,有可能出现内存不能read错误。
全部回答
#define N 5
int main(array<System::String ^> ^args)
{
int i,j;
int value[N];
int flag[N] = {0};
int value1[N];
for(i=0; i< N; i++) {
scanf("%d",&value[i] );
}
for( i = 0; i < N; i++) {
for(j=0;j<N;j++) {
if( ( value[j] == value[i] ) && ( i != j ) && flag[j]!=2 ) {
flag[i] = 1;
flag[j] = 2;
}
}
}
j = 0;
for( i = 0; i < N; i++ ) {
if ( flag[i] == 2 ) {
continue;
}
value1[j] = value[i];
j++;
}
for(i=0;i<j;i++) {
printf("%d: %d\n", i, value1[i]);
}
我这边执行好像没出问题(结果肯定不对)
你用单步跟踪的方式看下在哪一行挂掉的
你在第一次执行j++之前没有给j赋过初值啊。
追问:有输出了,可还是不对
#include <stdio.h>
#define N 5
int main()
{
int i;
int k = 0;
int s = N;
int a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
// for(i=0;i<N;i++)
// {
// for(j=k;j<N;j++)
// {
// if(a[i]=a[j])
// j++;
// else
// printf("%d",a[i]);m=j;break;
// }
// if(i!=m)printf("%5d",a[i]);
// }
for(i = 0; i < N; i++)
{
for(int j = i+1; j < N; j++)
{

k = j;
if(a[i] == a[j])
{
while(k < N -1)
{
a[k] = a[k+1];
a[k+1] = 0;
k++;
}
s--;
}
}
}
for(i = 0; i < s; i++)
{
printf("%d,",a[i]);
}
return 0;

}
可能还有些细节问题。吃饭去了 如果你发现什么问题,说下额。。。。代码还有问题。。。我回来修改下
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
项家主人房我想知道这个在什么地方
指甲油怎么干得快?
羊乃世家延吉旗舰店我想知道这个在什么地方
乐购(嘉善店)地址好找么,我有些事要过去
当涂县诚信建筑劳务有限公司我想知道这个在什
浪漫嫁衣怎么去啊,有知道地址的么
看中国新歌声作文660字要写出感受
十堰市科学器材有限责任公司地址有知道的么?
乐雅卫浴这个地址在什么地方,我要处理点事
求类似刺锦一样的长篇GL小说
木易天天养生园在什么地方啊,我要过去处理事
工程采用钻孔灌注桩,有1层地下室 我是先开挖
金洞野菜馆地址在哪,我要去那里办事
东升红木家具交易中心在什么地方啊,我要过去
峨眉山旅游讲解服务有限公司地址在哪,我要去
推荐资讯
四四小六年级期末考试分数怎么查?
四川外国语大学重庆南方翻译学院綦江校区地址
下见宜在什么地方啊,我要过去处理事情
辽宁车宝汽车服务有限公司地址在什么地方,想
华祥苑茗茶梅河口店怎么去啊,有知道地址的么
25╳(8+4)简便计算
中脉道和收购法拉利消息属实吗
金地花苑我想知道这个在什么地方
欧扬生活电器广西分公司地址在什么地方,想过
腰做磁共振需要空腹吗
渝味阁在什么地方啊,我要过去处理事情
根据x÷y=4 z-y=x写出两个综合算式
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?