Olá, preciso fazer um procedimento que recebe 3 filas como parâmetros(F1,F2 e F3), sendo que F1 é a fila lida no programa principal e F2 (fila de ímpares) e F3 
	(fila de pares), e separe todos os valores armazenados em F1 de tal forma que os valores pares são movidos para a fila F2 e os valores ímpares para F3.
 
	Na hora de fazer a fila F1 e inserir os valores, não dá erro. Porém na hora de executar o procedimento pra separar os valores ímpares e pares em outras filas, o programa da erro. O código p/ o procedimento é o seguinte: 
 
	 
	//Separa pares e ímpares
void separa_fila(struct header *fila1,struct header *fila2,struct header *fila3,int *sinal){
    
    int filapar,filaimpar;
    int sinaldosepara;
    
    while (fila1->qtde =! 0){
        
        if (fila1->inicio->dados %2 == 0 ){
            filapar=desenfileirar(fila1,&sinaldosepara);
            enfileirar(fila3,filapar,&sinaldosepara); //fila3 = fila de pares
    }
        else
        {
        
            filaimpar=desenfileirar(fila1,&sinaldosepara);
            enfileirar(fila2,filaimpar,&sinaldosepara); //fila2 = fila de ímpares
    }
    }    
}