I found rather unrelated questions due to the large number of printf() search results.
Why uint8_t n't uint8_t indicate its own format string, but does any other type do?
As far as I understand printf() , it should know the length of the provided parameters in order to be able to parse the list of variable arguments.
Since uint8_t and uint16_t use the same %u format specifier, how does printf() βknowβ how many bytes to process? Or is there some kind of implicit cast to uint16_t involved in the delivery of uint8_t ?
Perhaps I am missing something obvious.
source share