%d is for ints. %c is for chars. If you output a char with a %d, you will get a number. If you read in a %d into an int and output it with a %d, you will get a number. If you input a %c and output a %c, you will get a character. If you read in with fgetc and output with %c, you will get a character. If you read in with getc and output with %c, you will get a character.