33,311
社区成员
发帖
与我相关
我的任务
分享
#include "stdlib.h"
void main( )
{
int num, *p, *q;
int i;
scanf(“%d”,&num);//可是变量,且连续空间
if(p = (int *)malloc(sizeof(int)*num ) ==NULL)
return;
q=p;
for (i=0; i<num; i++,p++)
scanf("%d",p);
p=q;
for (i=0; i<num; i++,p++)
printf("\nNo.%d: %d", i+1, *p);
free( q );
} //动态分配内存没有名字,用指针访问。
scanf(“%d”,&num); //你敲入了全角的“”
3.最致命的:==优先级是大于= 的,所以你的代码首先判断的是
(int *)malloc(sizeof(int)*num ) ==NULL,这当然会有问题了
解决办法,加个括号
if((p = (int *)malloc(sizeof(int)*num ))==NULL)
p =(int *)malloc(sizeof(int)*num );
if(p==NULL)