// Online C compiler to run C program online
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
struct Stack{
int capacity;
int top;
char *items;
}s;
struct Stack * createStack(int cap){
struct Stack *s;
s
= (struct Stack
*)malloc(sizeof(struct Stack
)); s->capacity = cap;
s
->items
= (char *)malloc((cap
) *sizeof(char)); s->top=-1;
return s;
}
void pop(struct Stack *s){
if(s->top==-1){
return;
}
printf("%c",s
->items
[s
->top
]); s->top--;
}
void push(struct Stack *s,int ele){
if(s->top == s->capacity-1){
return ;
}
s->top++;
s->items[s->top]=ele;
}
int main() {
char s[100],rev1[100],rev2[100];
struct Stack *stack;
fgets(s
,sizeof(s
),stdin
); stack = createStack(len);
printf("Orignal string :%s",s
); printf("Reversed using strrev : %s",s
); int i=0;
push(stack,s[i]);
}
printf("\nReversed Using stack: "); while(stack->top>=0){
pop(stack);
}
return 0;
}
Ly8gT25saW5lIEMgY29tcGlsZXIgdG8gcnVuIEMgcHJvZ3JhbSBvbmxpbmUKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgojaW5jbHVkZTxzdHJpbmcuaD4Kc3RydWN0IFN0YWNrewogICAgaW50IGNhcGFjaXR5OwogICAgaW50IHRvcDsKICAgIGNoYXIgKml0ZW1zOwp9czsKc3RydWN0IFN0YWNrICogIGNyZWF0ZVN0YWNrKGludCBjYXApewogICAgc3RydWN0IFN0YWNrICpzOwogICAgcz0gKHN0cnVjdCBTdGFjayAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IFN0YWNrKSk7CiAgICBzLT5jYXBhY2l0eSA9IGNhcDsKICAgIHMtPml0ZW1zID0gKGNoYXIgKiltYWxsb2MoKGNhcCkgKnNpemVvZihjaGFyKSk7CiAgICBzLT50b3A9LTE7CiAgICByZXR1cm4gczsKfQp2b2lkIHBvcChzdHJ1Y3QgU3RhY2sgKnMpewogICAgaWYocy0+dG9wPT0tMSl7CiAgICAgICAgcHJpbnRmKCJcblN0YWNrIGlzIGVtcHR5Iik7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgcHJpbnRmKCIlYyIscy0+aXRlbXNbcy0+dG9wXSk7CiAgICBzLT50b3AtLTsKfQp2b2lkIHB1c2goc3RydWN0IFN0YWNrICpzLGludCBlbGUpewogICAgaWYocy0+dG9wID09IHMtPmNhcGFjaXR5LTEpewogICAgICAgIHByaW50ZigiU3RhY2sgaXMgZnVsbCIpOwogICAgICAgIHJldHVybiA7CiAgICB9CiAgICBzLT50b3ArKzsKICAgIHMtPml0ZW1zW3MtPnRvcF09ZWxlOwp9CgppbnQgbWFpbigpIHsKICAgIGNoYXIgc1sxMDBdLHJldjFbMTAwXSxyZXYyWzEwMF07CiAgICBzdHJ1Y3QgU3RhY2sgKnN0YWNrOwogICAgcHJpbnRmKCJFbnRlciBTdHJpbmc6ICIpOwogICAgZmdldHMocyxzaXplb2Yocyksc3RkaW4pOwogICAgaW50IGxlbiA9c3RybGVuKHMpOwogICAgc3RhY2sgPSBjcmVhdGVTdGFjayhsZW4pOwogICAgcHJpbnRmKCJPcmlnbmFsIHN0cmluZyA6JXMiLHMpOwogICAgcHJpbnRmKCJSZXZlcnNlZCB1c2luZyBzdHJyZXYgOiAlcyIscyk7CiAgICBpbnQgaT0wOwogICAgZm9yKGk9MDtpPHN0cmxlbihzKS0xO2krKyl7CiAgICAgICAgcHVzaChzdGFjayxzW2ldKTsKICAgIH0KICAgIHByaW50ZigiXG5SZXZlcnNlZCBVc2luZyBzdGFjazogIik7CiAgICB3aGlsZShzdGFjay0+dG9wPj0wKXsKICAgICAgICBwb3Aoc3RhY2spOwogICAgfQoKICAgIHJldHVybiAwOwp9