新手一枚,求前辈指教!
/*
malloc动态内存分配练习
从键盘输入成绩并打印在屏幕上,人数未知
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num=0;
printf("请输入学生人数:\n");
scanf("%d",&num);
int *mark;
mark = (int *)malloc(num * sizeof(int));
if(mark==NULL)
{
puts("内存分配失败!");
}
else
{
int i;
for(i=0;i<num;i++)
{
printf("请输入第%d个学生的成绩:",i+1);
scanf("%d",mark+i);
}
for(i=0;i<num;i++);
//当我将for语句中的在i括号里声明时,
//上面的scanf语句没有报错而
//下面的输出语句会报错 . 为何?
{
printf("%3d\n",mark[i]);
//目前程序无法输出输入的成绩, 为何?
}
printf("\n");
}
free(mark);
mark=NULL;
return 0;
}