24小时热门版块排行榜    

查看: 91  |  回复: 3
当前主题已经存档。
【悬赏金币】回答本帖问题,作者kleinkinder将赠送您 8 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kleinkinder

铁杆木虫 (正式写手)

[求助] 有关C(C++)中长数组的问题[2008年月10月26日22:30前有效]

----------------------------------------------------------------
原代码
#include "math.h"
#include "stdlib.h"
#include "stdio.h"
main(){
float *P;
long int i,nn;
nn=400000;
P=(float*)malloc(sizeof(float)*nn);
for(i=0;i *(P+i)=i;
}
printf("%ld %f",i,*(P+nn-1));
free(P);
}
-------------------------------------------
以上是一个原代码,数组采用动态分配,长度40万。并赋值.实验结果是
1182193665   5119.000000
与预想结果400000 400000不一致。
1)这是什么原因?怎样解决?
2)数组最大可以多长?其什么有关?

[ Last edited by kleinkinder on 2008-10-26 at 21:01 ]

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kaiyuxing

金虫 (正式写手)

小木虫之华中地区理事长

已经过期了,但还是给你提供一个可参考的

你的源程序预想结果应该是400000,399999.00

#include "iostream.h"
void main(){
long *p;
long int i,nn;
nn=400000;
p=new long[nn];
for(i=0;i *(p+i)=i+1;
}
cout< delete []p;
}
锻炼身体,刻苦钻研!
3楼2008-10-27 11:25:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

haicheng1019

木虫 (正式写手)

我建议你去查查相关的书,或者在verycd.com上下载个软件,再或者,找老师探讨,其实老师还是很喜欢学生问问题,即使题很简单,也很愿意的,。
努力是一种生活态度,和年龄无关。
2楼2008-10-26 21:08:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

beckham277

木虫 (职业作家)

你的源程序预想结果应该是400000,399999.00
4楼2008-10-27 11:57:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见