#include <stdio.h>
struct No {
struct No* prox;
char valor;
};
struct Pilha {
struct No* topo;
};
void empilhar(struct Pilha* pilha, char valor) {
struct No
* novoNo
= malloc(sizeof(struct No
));
novoNo->valor = valor;
novoNo->prox = pilha->topo;
pilha->topo = novoNo;
}
void desempilhar(struct Pilha* pilha) {
pilha->topo = pilha->topo->prox;
}
int main() {
struct Pilha p1;
empilhar(&p1, 'E');
printf("%c\n", p1.
topo->valor
);
empilhar(&p1, 'O');
printf("%c\n", p1.
topo->valor
);
desempilhar(&p1);
printf("%c\n", p1.
topo->valor
);
desempilhar(&p1);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgTm8gewogICAgc3RydWN0IE5vKiBwcm94OwogICAgY2hhciB2YWxvcjsKfTsKCnN0cnVjdCBQaWxoYSB7CiAgICBzdHJ1Y3QgTm8qIHRvcG87Cgp9OwoKdm9pZCBlbXBpbGhhcihzdHJ1Y3QgUGlsaGEqIHBpbGhhLCBjaGFyIHZhbG9yKSB7CiAgICBzdHJ1Y3QgTm8qIG5vdm9ObyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IE5vKSk7CgogICAgbm92b05vLT52YWxvciA9IHZhbG9yOwogICAgbm92b05vLT5wcm94ID0gcGlsaGEtPnRvcG87CiAgICBwaWxoYS0+dG9wbyA9IG5vdm9ObzsKfQoKdm9pZCBkZXNlbXBpbGhhcihzdHJ1Y3QgUGlsaGEqIHBpbGhhKSB7CiAgICBwaWxoYS0+dG9wbyA9IHBpbGhhLT50b3BvLT5wcm94Owp9CgppbnQgbWFpbigpIHsKICAgIHN0cnVjdCBQaWxoYSBwMTsKICAgIHByaW50ZigiJWNcbiIsIHAxLnRvcG8pOwogICAgcHJpbnRmKCIlcFxuIiwgcDEudG9wbyk7CgogICAgZW1waWxoYXIoJnAxLCAnRScpOwogICAgcHJpbnRmKCIlY1xuIiwgcDEudG9wby0+dmFsb3IpOwoKICAgIGVtcGlsaGFyKCZwMSwgJ08nKTsKICAgIHByaW50ZigiJWNcbiIsIHAxLnRvcG8tPnZhbG9yKTsKCiAgICBkZXNlbXBpbGhhcigmcDEpOwogICAgcHJpbnRmKCIlY1xuIiwgcDEudG9wby0+dmFsb3IpOwoKICAgIGRlc2VtcGlsaGFyKCZwMSk7CiAgICBwcmludGYoIiVwXG4iLCBwMS50b3BvKTsKCiAgICByZXR1cm4gMDsKfQ==