typedef int Elem;
typedef struct stos {
Elem* e;
struct stos *next;
} Stos;
#include <stdio.h>
#include <stdlib.h>
Elem* pop(Stos **s) {
if (*s
==NULL
) exit(EXIT_FAILURE
); Stos* help = *s;
Elem* e = help->e;
*s = (*s)->next;
return e;
}
void push(Stos **ss, Elem* elem) {
Stos *help;
help
= (Stos
*)malloc(sizeof(Stos
)); help->e = elem;
help->next = *ss;
*ss = help;
}
int main()
{
Stos *s = NULL;
int *a
= (int*)malloc(sizeof(int)); *a=10;
push(&s, a);
*a=12;
push(&s, a);
*a=14;
push(&s, a);
a = pop(&s);
a = pop(&s);
a = pop(&s);
return 0;
}
dHlwZWRlZiBpbnQgRWxlbTsKCnR5cGVkZWYgc3RydWN0IHN0b3MgewogIEVsZW0qIGU7CiAgc3RydWN0IHN0b3MgKm5leHQ7Cn0gU3RvczsKCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CgpFbGVtKiBwb3AoU3RvcyAqKnMpIHsKICAgIGlmICgqcz09TlVMTCkgZXhpdChFWElUX0ZBSUxVUkUpOwogICAgU3RvcyogaGVscCA9ICpzOwogICAgRWxlbSogZSA9IGhlbHAtPmU7CiAgICAqcyA9ICgqcyktPm5leHQ7CiAgICBmcmVlKGhlbHApOwogICAgcmV0dXJuIGU7Cn0KCnZvaWQgcHVzaChTdG9zICoqc3MsIEVsZW0qIGVsZW0pIHsKICAgU3RvcyAqaGVscDsKICAgaGVscCA9IChTdG9zICopbWFsbG9jKHNpemVvZihTdG9zKSk7CiAgIGhlbHAtPmUgPSBlbGVtOwogICBoZWxwLT5uZXh0ID0gKnNzOwogICAqc3MgPSBoZWxwOwp9CgoKCgppbnQgbWFpbigpCnsKICAgIAlTdG9zICpzID0gTlVMTDsKICAgIAlpbnQgKmEgPSAoaW50KiltYWxsb2Moc2l6ZW9mKGludCkpOwogICAgCSphPTEwOwogICAgICAgIHB1c2goJnMsIGEpOwogICAgICAgIGE9KGludCopbWFsbG9jKHNpemVvZihpbnQpKTsKICAgICAgICAqYT0xMjsKICAgICAgICBwdXNoKCZzLCBhKTsKICAgICAgICBhPShpbnQqKW1hbGxvYyhzaXplb2YoaW50KSk7CiAgICAgICAgKmE9MTQ7CiAgICAgICAgcHVzaCgmcywgYSk7CgogICAgICAgIGEgPSBwb3AoJnMpOwogICAgICAgIHByaW50ZigiJWRcbiIsICphKTsKICAgICAgICBmcmVlKGEpOwogICAgICAgIGEgPSBwb3AoJnMpOwogICAgICAgIHByaW50ZigiJWRcbiIsICphKTsKICAgICAgICBmcmVlKGEpOwogICAgICAgIGEgPSBwb3AoJnMpOwogICAgICAgIHByaW50ZigiJWRcbiIsICphKTsKICAgICAgICBmcmVlKGEpOwogICAgICAgIHJldHVybiAwOwp9Cg==