大一刚刚学数组,写程序不知道这里为什么会显示缺少分号。

#include<stdio.h>
#define N 50;
int ReadScore(int score[]);
void ExSort(int n,int score[]);
void PrintScore(int n,int score[]);

main()
{
int score[N],n;
n = ReadScore(score);
printf("Total students are:%d\n",n);
ExSort(n,score);
PrintScore(n,score);
}

int ReadScore(int score[])
{
int n = -1;
do
{
n++;
printf("Input score:");
scanf("%d",&score[n]);
}while(score[n]>=0);
return n;
}

void ExSort(int n,int score[])
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(score[i]<score[j])
{
temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
}

void PrintScore(int n,int score[])
{
printf("Sorted scores:");
int i;
for(i=0;i<n;i++)
{
printf("%d ",score[i]);
}
printf("\n");
}

img

img

是真的不知道这里那个位置错了,卡得我动不了了QAQ

#define N 50 后面不能有分号!!!
PrintScore函数中,int i要放到函数第一行。