读书人

很简单的一个关于内存分配的代码不知

发布时间: 2012-03-19 22:03:05 作者: rapoo

很简单的一个关于内存分配的代码,不知道哪出错了
[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],所以会出现一个很大的数

读书人网 >C++

热点推荐