#include <stdio.h> #include <malloc.h> int main(int argc, char** argv) { int i = 0; int a = 0; int *score = NULL; printf ("Input a number: "); scanf ("%d",&a); score = (int *) malloc(a * sizeof(int)); if (score != NULL) { for (i=0; i<a; i++) { score[i] = i; } printf ("score[%d%s", a, "] = "); for (i=0; i<a; i++) { printf ("%d%s",score[i]," "); } free(score); score = NULL; } return 0; } #include <stdio.h> #include <malloc.h> int main(int argc, char** argv) { int len=0; int i; for(;;) { printf("please input the length of the array:/n"); scanf("%d",&len); if(len<=0) {printf("your input is wrong/n");continue;} break; } //printf("%d/n",len); int *array=NULL; //指向数组的指针 array=(int *)malloc(len*sizeof(int)); //分配地址空间,指针指向起始地址 for(i=0;i<len;i++) { array[i]=i+1; printf("array[%d]=%d/n",i,array[i]); } free(array); //释放地址空间 array=NULL; //使指针重新指向null,以免悬挂 return 0; } please input the length of the array: 5 array[0]=1 array[1]=2 array[2]=3 array[3]=4 array[4]=5