请问,为什么编译之后num的结果一直为1啊?

#include<stdio.h>
int main()
{
    int max,score[40];
    int i,n,num;
    printf("输入总人数:\n");
    scanf("%d",&n);
    printf("输入分数:\n");
    for(i=0;i<n;i++)
        scanf("%d",&score[i]);
    max=score[0];num=0;
    for(i=0;i<n;i++)
        if (score[i]>max)
        {max=score[i];num=i;}
        printf("max=%d,num=%d\n",max,num);
        return 0;

}

没有啊,

输入总人数:
1
输入分数:
3
max=3,num=0
输入总人数 
3
输入分数
1
2
3
max=3,num=2
输入总人数:
2
输入分数:
1
2
max=2,num=1

这里num输出没有一直为1呀

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html