求助:申请动态一维数组的问题(使用二级指针)
请大神们帮我看看下面这个申请动态一维数组的程序哪里有问题:程序能运行到这一句:printf("please input the array size :\n");
输入一个数后,走到这一句:printf("please input the array number :\n");就出错了,不知道是什么问题,请大神们指点指点。谢谢
#include<stdio.h>
#include<malloc.h>
int init(int **block ,int siz)
{
int *addr;
if(addr=(int *)(malloc(siz*sizeof(int))==NULL))return(0);/*申请动态数组的大小*/
*block=addr;
return(1);
}
void main()
{ int *arr,size,j;
printf("please input the array size :\n");
scanf("%d",&size);
if(init(&arr,size)==0)
{ printf("No block was allocated\n");
}
else
printf("please input the array number :\n");/*输入一维数组的各个元素*/
for(j=0;j<=size;j++)
scanf("%d\t",&arr[j]);
for(j=0;j<=size;j++)
printf("output the array number:%d\t",arr[j]);
}