Se da programul:
#include <stdio.h>
char s[5],*f,*p,*m=s+5;
void push(int i){
*p=i+ '0';
p++;
if (p>=m) p=s;
}
char pop(){
char c=*f;
f++;
if (f>=m) f=s;
return c;
}
void main(){
int i;
p=f=s;
for(i=1;i<=3;i++) push(i);
printf("%c",pop()); scanf;
push(i);
for(i=0;i<5;i++) printf("%c", s);
}
Acest program afiseaza 11234.
Daca in primul for din main i<=6, afiseaza 667345.
Prima valoare este cea intoarsa de pop(), dar daca pentru valoarea 6 (i<=6), gasesc o logica, pentru 1 (i<=3), nu inteleg de ce.
De asemenea, nu inteleg de ce printf afiseaza acele valori si nu-mi explic numarul lor (4 valori daca i<=3, 5 daca i<=6)
