Hmm. From a reading it like normal text perspective, that could be a tough one. How I read it is if you have sprintf string like this:
It's raining %s and %s.
All I see is that the text is expecting 2 strings, not 2 integers, or floats, or anything like that. If you wanted to read it in a specific manor then you would have to glance to the 2nd and 3rd arguments of the function and them move back - much like you would if you had foot-notes in essays. So you'd hopefully see 2 descriptive variable names which describe exactly what's going in there:
$szCats, $szDogs.
Implementing it into your code is rather easy, and is required, in some cases, such as the CRC32 function may return an unsigned checksum, you're supposed to use it like so:
Where it could be as simple as:
php Code:
printf("It's raining %s and %s.",
$szCats,
$szDogs);
If you wanted it to be. It's entirely up to you where you use it, I just happen to use it when constructing MySQL statements.