Formatting with printf in C
By Siva Viewed: 31733 times Emailed: 185 times Printed: 196 times
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;
a=2134;
b=2756;
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 % t.nf where t’ denotes the total width and ‘n’
the number of decimal spaces. For example
main()
{
float x,y;
x= 3.141592;
y=14.4;
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.
Example:
main()
{
char text1[ ] = “Hello”;
char text2[ ] = “World”;
printf(“% 10s \n,text1);
printf(“%5.3s \n,text2);
printf(“%-5.3s,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 character \ followed by some other character. These characters are listed below.
| \b |
backspace BS
|
| \f |
form feed FF
|
| \n |
new line NL
|
| \t |
horizontal tab HT
|
| \r | carriage return CR (cursor to start of line) |
| \v |
vertical tab
|
| \” |
double quote
|
| \’ |
single quote character
|
| \\ |
backslash character
|
Comments(0)
Be the first one to add a comment

