A mi me corrió si declaro a la variable pfich como variable global, creo que después de un printf o scanf no puedes declarar variables, creo, no estoy seguro....
pero ese error yo lo tenía antes
/*
* Ejercicio 122 by ANELKAOS
* Creación de diccionarios de contraseñas para fuerza bruta
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int max, min, i, j;
char cadena[100];
char abcd[38]= "abcdefghijklmnñopqrstuvwxyz0123456789";
FILE *pfich;
int main()
{
printf("\n\n\t******************************************************************\n");
printf("\t*Diccionario de palabras V 0.1*\n");
printf("\t******************************************************************\n");
printf("\n\n\t Introduzca la longitud m%cnima de la contrase%ca: ",161,164);
scanf("%d",&min);
printf("\n\n\t Introduzca la longitud m%cxima (menor que 100) de la contrase%ca: ",160,164);
scanf("%d",&max);
printf("\n\n\t Generando archivo de contrase%cas en C:\\pass.txt...",164);
pfich = fopen("pass.txt", "w");
if(pfich == NULL){
printf("\nERROR al abrir el fichero.");
exit(1);
}
//escibimos en el archivo
for(i=min;i<=max;i++)
{
for(j=0;j<37;j++)
{
cadena[i]=abcd[j];
strcat(&cadena[i],&abcd[j]);
fprintf(pfich, "%s\n", cadena);
}
}
/*terminamos de usar el archivo*/
if(fclose(pfich)!=0){
printf("\nERROR al cerrar el archivo.");
exit(1);
}
printf("\n\n\t Pulse cualquier tecla para SALIR");
getchar();
}