这个报错原因是因为malooc的函数使用不对吗?
原意是想初始化一个数组长度为键盘输入数的数组,每个元素数值为0。
求解报错原因,及这样的需求用什么代码解决较好。
供参考:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int j=0,cntt=0;
int *p;
int n;
scanf("%d",&n);
p = (int*)malloc(sizeof(int)*n);//申请 n 个元素的数组
memset(p,0,sizeof(int)*n); //数组初始化值:0
for(j=0;j<n;j++)
printf("%d ",p[j]);
return 0;
}
malloc之后直接用p[i]即可访问对应位置,你那种声明写法是错误的,p是个指针不是个长度值