在调用fclose时出现段错误

在调用文件流指针进行操作时调用fclose 出现段错误

printf("=============\n");
    fps = fopen("input","w");
    if(fps = NULL)
    {   
        i++;
        printf("i=%d\n",i);
        perror("fopen()");
        return 0;
    }

    fpd = fopen("output","w");
    if(fpd = NULL)
    {
        perror("fopen()");
        fclose(fps);
        return 0;
    }
    /*  while(1)
        {
            i = fgetc(fps);
            if(i == EOF)
                break;
                fputc(i,fpd);
        }*/
        fclose(fpd);
        fpd = NULL;
        fclose(fps);
        fps = NULL;

应该是个很基本的错误,本人萌新,求大神指教

老哥,"w"是写不是读,看清楚了

有没有可能,=为赋值,==才是判断?