首页 新闻 会员 周边

C语言中遇到的问题,自己不会解决,想不明白

0
悬赏园豆:5 [已关闭问题] 关闭于 2023-10-29 15:35

include<stdio.h>

include<stdlib.h>

int main(void)
{
int n = 0;

int* p = NULL;
printf("请输入数组大小:");
scanf_s("%d", &n);
p = (int *)malloc(sizeof(n * 4));

for (int i = 0; i < n; i++)
{
	printf("请向数组中输入数字:");
	scanf_s("%d", &p[i]);
}

for (int  j= 0;j < n; j++)
{
	printf("%d", p[j]);
}
free(p);



return 0;

}

在VS中进行操作的debug 下会出先内存溢出,是什么原因

溯流的主页 溯流 | 菜鸟二级 | 园豆:208
提问于:2023-10-29 14:31
< >
分享
所有回答(1)
0

注意看malloc函数开辟的空间 ,这是因为malloc(sizeof(n*4))开辟的不是4个int类型的空间

溯流 | 园豆:208 (菜鸟二级) | 2023-10-29 15:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册