Programming Tutorials

Formatting with printf in C

By: Siva in C Tutorials on 2008-08-06  

We could right justify our output using the format specifiers. The field-width specifier tells printf() how many columns on screen should be used while printing a value(as in %wd),here the value is right justified and is padded with blanks on the left. If we include the minus sign in format specifier (as in %-wd), this means left justification is desired and the value will be padded with blanks on the right. 

Eg:- main()
int a,b;
printf(“%5d /n”,a);
printf(“%-5d /n”,b);

The output for “a” would be as

        2     1     3    4 

The output for “b” would be as

2 7 5 6

For float data type the format is % where ‘t’ denotes the total width and ‘n’ the number of decimal spaces. For example 

float x,y;
x= 3.141592;
printf(“%6.3f \n”,x);
printf(“%-5.2f \n”,y);


The output for ‘x’ would be as

  3 . 1 4 2

The output for ‘y’ would be as

1 4 . 4 0

Similarly, for formatting a string %ds is used. For example, %10s ,%25s etc. The string could also be formatted using a decimal value, as in %5.3s. Here it specifies how many characters are to be printed. 


char text1[ ] = “Hello”;
char text2[ ] =  “World”;
printf(“% 10s \n,text1);
printf(“%5.3s \n,text2);

The output for text1 would be as

          H e l l o

The output for text2 would be as

    w o r

The output for text2 would be as

w o r

Special Control Characters

Control characters are invisible on the screen. They have special purposes usually to do with cursor movement. They are written into an ordinary string by typing a backslash haracter \ followed by some other character. These characters are listed below.


backspace BS


form feed FF


new line NL


horizontal tab HT

\r carriage return CR (cursor to start of line)

vertical tab


double quote


single quote character 


backslash character 

Add Comment

* Required information


No comments yet. Be the first!

Most Viewed Articles (in C )

Latest Articles (in C)