Oi galera, inicialmente esse código era em visual C++ .
Fui fazendo mudanças para transforma-lo em C, só que agora não consigo mais sair do lugar, alguém pode me ajudar?
/*Codigo para testar se duas pilhas P1 e P2 são iguais.
Duas pilhas são iguais se possuem os mesmos elementos, na mesma ordem.
Você pode utilizar pilhas auxiliares também, se necessário. */
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
typedef struct nodo_a{
int dado;
struct nodo_a *prox;
}nodo_b;
typedef nodo_b *pNodo;
typedef nodo_b *pPilha;
void push (pPilha *p, int x){
pNodo no;
no = (pNodo) malloc(sizeof (nodo_b));
if (no != NULL){
no -> dado = x;
no -> prox = *p;
*p = no;
}
}
int pop (pPilha *p){
pNodo no;
int x = 0;
no = *p;
x = (*p)->dado;
*p = (*p)-> prox;
free(no);
return x;
}
int pilha_vazia(pPilha *p){
return (*p == NULL ? 1:0);
}
void pilhasIguais (pNodo N1, pNodo N2){
double faixa = true;
if ((N1 == NULL) || (N2 == NULL)){
printf(" Pilhas Estão Vazias", setlocale(LC_ALL,""));
}
else{
while ((N1 != NULL) &&(N2 != NULL) &&(faixa)){
if(N1 -> dato != N2 -> dato){
faixa = false;
}
else {
N1 = N1 -> prox;
N2 = N2 -> prox;
}
}
}
if (( N1 == NULL) && (N2 == NULL) && (band)){
printf("Pilhas Iguais\n");
}
void main(){
pPilha P1 == NULL, P2 == NULL;
nodo_b *p = (nodo_b *) malloc(sizeof(nodo_b));
push(P1,8);
push(P1,23);
push(p1,3);
push(P2,8);
push(P2,23);
push(p2,3);
if (!= pilha_vazia(&P1) && != pilha_vazia(&P2)){
pilhasIguais(P1,P2);
}
getch();
}
}