自己编了2个程序,编译通过,执行却报错,为什么?
第一个程序:#include <stdio.h>
#include <malloc.h>
int sort(int *p)
{
int *m=(int *)malloc(10);
for(int i=0;i<10;i++)
{m[10-i]=p[i];
}
return m[10];
}
void main()
{int q[]={1,2,3,4,5,6,7,8,9,0};
int n[10];
n[10]=sort(q);
printf("%d\n",n);
}
我的目的就是要将这个数组逆序排列,通过编译,执行后window报错
第二个程序:
#include <stdio.h>
#include <malloc.h>
void main()
{
int *p=(int *)malloc(1000);
int n=0;
for(int i=1;i<=1000;i++)
{ for(int k=1;k<=i;k++)
{if((i%k==0)&&(k!=1)&&(k!=i))
p[n]=i;
n=n+1;
}
}
printf("%d\n",p);
}
问题和第一个问题相同,也是报错。请教高手这个是哪里出问题了呢?