to output in decimal notation of a char variable, we write like this
char a1 = 'a'; printf("a1 is [%d].\n", a1);
in the way we output an int variable.
but when we output a long variable, we must write like below reluctantly
1 2 3
#need to test in gcc. long l1 = 123456789; printf("l1 is [%ld].\n", l1);
don't say byte alignment.