# What is the purpose of using field width specifier in the printf() ?

536 views

How can we change the width in the printf() ? Can we also use negative width? What will be the impact of that?

posted Dec 21, 2013

+1 vote

Tested the following code

``````main()
{
printf("%5d\n", 1234%10);
printf("%5d\n", 1234%100);
printf("%d\n", 1234%10);
printf("%d\n", 1234%100);
printf("%-5d\n", 1234%10);
printf("%-5d\n", 1234%100);
}
``````

Output

``````    4
34
4
34
4
34
``````

So the interpretation is -
1. You can specify the field width just after % and output would be printed in a nice way as it was printed in the example using 5 spaces.
2. You can specify the negative width but would not have any impact.
3. In case of float you can specify the width after "." also.

Check the following article for complete detail on width specifier in printf.
http://www.codingunit.com/printf-format-specifiers-format-conversions-and-formatted-output