devc++同一个源文件,同一个头文件,更改其中的数值,但是编译运行后的结果相同

我第一次赋值头文件中的j=2.然后赋值j=5;但是不管怎么输出都是编译运行后给我j=2

//以下 是我的第一个源文件 main.c
#include <stdio.h>
#include <stdlib.h>
#include "head.h"

int main(int argc, char *argv[]) {
    int a=5;
    int b=6;
    printf("%d\n",j);
    printf("%f",max(a,b));
    return 0;
}

//以下是第二个源文件MAX.c
double max(double  a,double b){
 
    return a>b?a:b;
}
//以下是我的头文件 head.h
double max(double  a,double b);
extern int j=5;

是不是头文件改了之后忘保存?