3.1416 Invalid conversion in printf: "%f" at - line 3. %4.4lf Invalid conversion in printf: "%f" at - line 4. %4.4hf Invalid conversion in printf: "%q" at - line 5. %4.4qf 3.1416 3.1416 #### l interpret integer as C type "long" or "unsigned long" h interpret integer as C type "short" or "unsigned short" q, L or ll interpret integer as C type "long long" or "unsigned long long" (if your platform supports such a type, else it is an error) #### h A following integer conversion corresponds to a short int or unsigned short int argument, or a fol­ lowing n conversion corresponds to a pointer to a short int argument. l (ell) A following integer conversion corresponds to a long int or unsigned long int argument, or a fol­ lowing n conversion corresponds to a pointer to a long int argument, or a following c conversion cor­ responds to a wint_t argument, or a following s conversion corresponds to a pointer to wchar_t argument. ll (ell-ell). A following integer conversion corre­ sponds to a long long int or unsigned long long int argument, or a following n conversion corresponds to a pointer to a long long int argument. L A following a, A, e, E, f, F, g, or G conversion corresponds to a long double argument. (C99 allows %LF, but SUSv2 does not.) q (`quad'. BSD 4.4 and Linux libc5 only. Don't use.) This is a synonym for ll.