| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 631 人关注过本帖
标题:求助,内存不能为“read”
只看楼主 加入收藏
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:7 
求助,内存不能为“read”
程序代码:
#include <stdio.h>
int main()
{
   void f(int *,int *);
   int i,j,n,m,max,min;
   int a[10];
   printf("请输入10个整数:\n");
   for(i=0;i<10;i++)
   scanf("%d",&a[i]);
  
   max=a[0];
   for(i=0;i<10;i++)
  
  { if(max<a[i])
   {max=a[i];                  
    n=i;}
   }
  
   min=a[0];
   for(j=0;j<10;j++)
   {if(min>a[j])
   {min=a[j];
    m=j;}
   }
  
   f(a+n,a+9);
   f(a+m,a+0);
  
   for(i=0;i<10;i++)
   printf("%d ",a[i]);
   system("pause");
   return 0; 
}

void f(int *p,int *q)
{
     int t;
     t=*p;
     *p=*q;
     *q=t;    
}


求助,内存不能为“read”

题目要求将10个整数中,最大的数跟第十个数交换,最小的数跟第一个数交换。
搜索更多相关主题的帖子: 内存 
2011-12-02 23:15
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 ai_44
f(a+n,a+9);   
f(a+m,a+0);
改成下面的试试
f(&a[n],&a[9]);   
f(&a[m],&a[0]);

总有那身价贱的人给作业贴回复完整的代码
2011-12-03 00:15
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 楼主 ai_44
不行。。还是出现 内存不能为read
2011-12-04 12:08
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:5 
n和m没有初始化。
min=a[0];
   for(j=0;j<10;j++)  
   {if(min>a[j])   //如果a[0]就是最小值,则不会进入这个if,那么就不会有m=j,那么m的值就是随机的。所以当f(&a[m],&a[0]);就可能出现数组越界,即内存不能"read", 变量n也是一样。
   {min=a[j];        
    m=j;}
   }

总有那身价贱的人给作业贴回复完整的代码
2011-12-04 13:54
神马我给力
Rank: 2
等 级:论坛游民
帖 子:2
专家分:20
注 册:2011-11-17
收藏
得分:0 
出错在m和n上咯,当你最小的数在第一个数的位置时, m和n都没付初值;
2011-12-04 14:45
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:0 
给m,n赋初始值为0;
2011-12-04 16:22
liminglm
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-12-4
收藏
得分:0 
初始值····
2011-12-04 17:26
飘四方
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2014-2-19
收藏
得分:0 
我运行没有出现“read”,可是结果是最大的树根第一个数换,然后就没动了
2014-02-19 11:48
快速回复:求助,内存不能为“read”
数据加载中...
 
   



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

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