首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

很简单的一个关于内存分配的代码,不知道哪出错了,该怎么解决

2012-03-19 
很简单的一个关于内存分配的代码,不知道哪出错了[codeC/C++][/code]#includestdafx.h#includestdio.h

很简单的一个关于内存分配的代码,不知道哪出错了
[code=C/C++][/code]#include"stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define MAX 50

int main(void)
{
int *p;
int j;
p=(int *)malloc(MAX * sizeof(int));
if( !p) {printf("分配内存出错\n");exit(-1);}
puts("给元素赋值\n");
for(int i=0;i<MAX;i++)
{
p[i]=i;

}
puts("元素入下\n");
for(j=0;j<MAX;j++);
{
printf("%d ",p[j]);
}
getche();
return 0;
}
我想先分配空间,然后赋值,然后在把元素都打印出来,哪出错了呢?

[解决办法]
for循环的循环体啥也没干,for循环之后j变成50了,你输出的就是p[50],所以会出现一个很大的数

热点排行