So what am i doing wrong here?

That's because you need to dereference the pointer e.
So it would be printf("%c", (char) *e);

Who mans the man pages?

man printf
That'll actually give the shell command. If you want the C library function, it's man 3 printf

The problem is you are not printing a char but a string printf("%s",e) would print all the chars upto /0 not a single char, you could also see that after every increment of e the the preceding char is not printed.

my solution would be to change e to a char , start with for(i = 0; i < len; c++){
printf("%c",*c);
i++;
}

So ya see, you double-click on the printer icon and then it 'prints' it out for you.