新手一枚,求前輩指教!
/*
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;
}
for(i=0;i<num;i++); //多了一個分號?