We have answer of your question!

100% solved queries, no empty question

Question: What Comes After The %?



I've searched for this a little but I have not gotten a particularly straight answer. In C (and I guess C++), how do you determine what comes after the % when using printf?. For example:

double radius = 1.0;
double area = 0.0;
area = calculateArea( radius );
printf( "%10.1f     %10.2\n", radius, area );

I took this example straight from a book that I have on the C language. This does not make sense to me at all. Where do you come up with 10.1f and 10.2f? Could someone please explain this?

Question author The-anti-9 | Source




http://en.wikipedia.org/wiki/Printf#printf_format_placeholders is Wikipedia's reference for format placeholders in printf. http://www.cplusplus.com/reference/clibrary/cstdio/printf.html is also helpful

Basically in a simple form it's %[width].[precision][type]. Width allows you to make sure that the variable which is being printed is at least a certain length (useful for tables etc). Precision allows you to specify the precision a number is printed to (eg. decimal places etc) and the informs C/C++ what the variable you've given it is (character, integer, double etc).

Hope this helps


To clarify using your examples:

printf( "%10.1f     %10.2\n", radius, area );

%10.1f (referring to the first argument: radius) means make it 10 characters long (ie. pad with spaces), and print it as a float with one decimal place.

%10.2 (referring to the second argument: area) means make it 10 character long (as above) and print with two decimal places.

Answer author Robintw


Tickanswer.com is providing the only single recommended solution of the question What Comes After The %? under the categories i.e c , . Our team of experts filter the best solution for you.

You may also add your answer!