Following article explores formatted stdio functions printf
and scanf
.
printf and scanf are varidac function (function that take variable arguments).
Variable argument function are covered in later articles.
printf
int printf(const char *format, ...);
Here are the simplest use of printf without using any format specifiers.
#include <stdio.h> int main() { char *p = "This is pointer to const string\n"; printf("This is const string\n"); printf(p); printf("Hello " "World\n"); return 0; }
This is const string This is pointer to const string Hello World
If you want to print the content of the variable we need to use format specifier in format
string and variable is passed as argument to printf.
Since you can print variable number of variables printf
is a varidac function.
We will cover how to write a varidac function later in this series of article.
Now different format specifier that is available are as follows.
Each format specifier is prepended by %
.
Format specifier | Details |
---|---|
d, i | signed integer |
u | unsigned integer |
o | unsigned octal |
x, X | unsigned hex |
f, F | Double |
e, E | Double exponential |
g, G | either f or e |
a, A | Hex Double(Added in C99) |
c | unsigned char |
s | string(const char *) |
p | pointer |
% | character '%' |
scanf
int scanf(const char *format, ...);
It is used to take input from the user. But one thing we need to make sure is that we need to pass the address of variable here. This is common point of mistake most of the novice programmer makes.
#include <stdio.h> int main() { int a; scanf("%d", &a); printf("value of a is %d", a); return 0; }
0 value of a is 0
Same format specifier that were discussed earlier can be used here to. We could do lot of formatting using format specifier which will be covered in next article.
Links
- Next Article - C Programming #88: stdio - insane formating in printf
- Previous Article - C Programming #86: stdio - getchar, putchar, gets, puts
- All Article - C Programming
No comments :
Post a Comment