I was studying various compiler option in GCC and observing changes when I made changes in the standard to be used.
$ gcc Q1.c -Wall -save-temps -o Q1
$ vi Q1.s
scanf(3) manual mentions several type modifiers characters introduced in c99:
j As for h, but the next pointer is a pointer to an intmax_t or a uintmax_t. This modifier was introduced in C99
t As for h, but the next pointer is a pointer to a ptrdiff_t. This modifier was introduced in C99.
z As for h, but the next pointer is a pointer to a size_t. This modifier was introduced in C99.
a (C99) Equivalent to f