On xcode c project, the code:
#include <stdio.h>
int main()
{
    int* pi = (int*) malloc(sizeof(int));
    *pi = 5;
    printf("*pi: %d\n", *pi);
    free(pi);
    return 0;
}
prints 't' , instead of 5, although I explicitly included the %specifier, that according to spec should print the signed decimal integer. I would expect the '%c' specifier would print that. What is going on?

 
    