Flags in printf function:
- We can place flags in the printf statement with in the control string which will affect the appearance of the output.
- The flag must be placed immediately after the percent sign(%).
- Two or flags can be combined for a single output.
- Table shows the commonly used flags
Flag Meaning - Data item is left justified(ie)Blanks added after the data item + A sign(+(or)-) will precede with each signed numerical data item 0 Place leading zeros to appear instead of leading blanks #(with 0- & x- type conversion) Causes octal and hexadecimal data items to be processed by 0 and 0x respectively #(with e-,f- & g- type conversion) Causes a decimal point to be present in all floating point numbers even if the data item is a whole number.Also prevents the truncation of trailing zeros in g-type conversion - Example:
#include<stdio.h>
int main()
{
int x=1234;
float y=15.5,z=-5.5;
printf("%d %f %e\n",x,y,z);
printf("%6d %7.0f %10.1e\n",x,y,z);
printf("%-6d %-7.0f %-10.1e\n",x,y,z);
printf("%+6d %+7.0f %+10.1e\n",x,y,z);
printf("%-+6d %-+7.0f %-+10.1e\n",x,y,z);
printf("%7.0f %#7.0f %7g %#7g\n",y,y,z,z);
return 0;
}
OutPut:1234 15.500000 -5.500000e+00
1234 16 -5.5e+00
1234 16 -5.5e+00
+1234 +16 -5.5e+00
+1234 +16 -5.5e+00
16 16. -5.5 -5.50000
- Prefixes within the control string to indicate the length of the corresponding argument.
- Example: i indicates a signed or unsigned integer argument or a double precision argument. h indicates signed or unsigned short integer.
hd->short decimal integer#include<stdio.h>
int main()
{
short x,y;
long a,b;
printf("%5hd %6hx %8lo %lu\n",x,y,a,b);
return(0);
}
hx->short hexadecimal integer
lo->Long octal integer
lu->Long unsigned integer - It is also possible to write the conversion characters x,e,g in uppercase as X,E,G. These uppercase conversion characters cause any letters with in the output data to be displayed in uppercase
Example:
Output:#include<stdio.h>
int main()
{
int x=0x10ab,y=0777;
float z=0.3e-12;
printf("|%8x %10.2e|\n",x,z);
printf("|%8X %10.2E|\n",x,z);
printf("|%8x %8o|\n",x,y);
printf("|%#8x %#8o|\n",x,y);
return(0);
}| 10ab 3.00e-13|
| 10AB 3.00E-13|
| 10ab 777|
| 0x10ab 0777|
- gets and puts function used to read and write string(character array terminate with a newline character)
- The string may include whitespace characters
- Example:
#include<stdio.h>
int main()
{
char text[100];
gets(text);
puts(text);
return(0);
}
Output:
./a.out
helo welcome
helo welcome
No comments:
Post a Comment