Ora funziona ma alcune volte si apre la finestra nera senza nessun output,qualcuno sa trovarmi per favore l'errore?ci stò dietro da un giorno e non riesco a venirne fuori ....

codice:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define N 10

int main()
{
	char griglia[N][N]={0},a,b;
	char d='A';
	int num_cas,alfa,c,e;

	srand ((unsigned)time(NULL));		//inizializzo generatore random

	for(a=0;a<N;a++)					//creo griglia con puntini				
		for(b=0;b<N;b++)
			griglia[a][b] = '.';

	for(a=0,b=0,alfa=0;alfa<26;alfa++){
		if(griglia[a][b] == '.'){
			griglia[a][b] = d++;
			c=a;
			e=b;}
		else {alfa--,a=c,b=e;}
		
		if(griglia[a+1][b]!='.'&&griglia[a-1][b]!='.'&&griglia[a][b+1]!='.'&&griglia[a][b-1]!='.'){
			for(a=0;a<N;a++){
		printf("\n\n\t\t\t");
		for(b=0;b<N;b++)
			printf ("%c  ",griglia[a][b]);}
		printf("\n\n\n\n");
	
		return 0;}
		
		num_cas = rand() % 4;
		switch (num_cas) {
			case 0: if(a>0)
						a -= 1;
				break;
			case 1: if(b<9)
						b += 1;
				break;
			case 2: if(a<9)
						a += 1;
				break;
			case 3: if(b>0)
						b -= 1;
				break;}		
	}
	
	for(a=0;a<N;a++){
		printf("\n\n\t\t\t");
		for(b=0;b<N;b++)
			printf ("%c  ",griglia[a][b]);}
		printf("\n\n\n\n");
	
	return 0;
}