Skip to main content

scanf() and printf() functions

Scanf() function:
It is used to read input from the keyboard.

int scanf(const char *format, ...);

For better understanding, lets rewrite the above as follows.
scanf("format specifiers", &v1, &v2, &v3);

v1, v2 and v3 are the input variables whose value needs to read from the keyboard.  We need to pass address of the variable as argument to store the input values from keyboard. Here, ampersand(&) represents address.

&v1 - address of variable v1
Input value for v1 will be stored at address of variable v1

Format specifier can be any of the following
%u  - unsigned int
%d  - int
%x  - hexadecimal
%o  - octal
%f  - float
%lf - double
%c  - char
%s  - string

scanf("%d", &v1); - inputs integer value
scanf("%x", &v2); - inputs hexadecimal value
scanf("%f", &v3); - inputs float value


printf() function:
It prints the given data on the output screen.

printf("format specifiers", v1, v2,..vn);
Here, format specifier can be any of the above mentioned.  Whereas, v1, v2..vn are the values of the variables which needs to be printed on the output screen.

printf("%d", 10);              - prints 10 on the output screen
printf("%f", num);            - prints the float value in variable num on the output screen
printf("%d and %d", a, b); - prints the value of the integers a and b on the output screen.

Suppose, if the value of a is 10 and the value of b is 20.  Then, the output for the below statement would be 10 and 20
printf("%d and %d", a, b);


Below is an example C program using scanf( ) and printf( ) functions.
 
#include <stdio.h>
int main() {
/* declarations */
int integer;
unsigned int uint;
float flt;
double dbl;
char str[32];

/* input data from user */
printf("Enter an integer: ");
scanf("%d", &integer); // inputs integer from keyboard
printf("Enter an unsigned integer: ");
scanf("%u", &uint); // inputs unsigned int from keyboard
printf("Enter a float value: ");
scanf("%f", &flt); // inputs float value from stdin(keyboard)
printf("Enter a double value: ");
scanf("%lf", &dbl); // inputs double value
printf("Enter a string:");
scanf("%s", str); // inputs string

/* print the result on the output screen */
printf("\nResult:\n");
printf("Value of integer: %d\n", integer);
printf("Value of unsigned integer: %u\n", uint);
printf("Value of float: %f\n", flt);
printf("Value of double: %lf\n", dbl);
printf("Value of string: %s\n", str);
return 0;
}


  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  Enter an integer: -234324
  Enter an unsigned integer: 1000
  Enter a float value: 10.345
  Enter a double value: 999.234234
  Enter a string:helloworld

  Result:
  Value of integer: -234324
  Value of unsigned integer: 1000
  Value of float: 10.345000
  Value of double: 999.234234
  Value of string: helloworld



Comments

Popular posts from this blog

Array of pointer to structure

Array of pointer to structure is nothing but an array whose elements are pointers to structure How to declare array of pointer to structure? Below is an example declaration for array of pointer to structure. struct student *arr[10]; Here, arr is an array 10 of pointer to structure student. Dynamic memory allocation: Below is the procedure to perform dynamic memory allocation for the structure pointers in an array. struct student { int age; char name[32]; }; fun() { int i = 0; struct student *arr[10]; for (i = 0; i < 10; i++) { /* dynamic memory allocation for 5 structure objects */ arr[i] = (struct student *)malloc(sizeof(struct student) * 5); } } Write a c program to pass an array of structure pointers to another function   #include <stdio.h>   #include <stdlib.h>   #include <string.h>   struct student {         int age, rollno;         char name[32];   };   /* printing details of stude...

Nested function in C

What is nested function? If a function is defined inside another function, then it is called as nested function.  Nested function example in C: Consider the following example, int add(int a, int b) {        void print(int res) {          printf("Result is %d, res);       }       print(a+b);       return 0; } Here, print() is a nested function.  Because, it is defined inside another function named add() . Example C program using nested functions: #include <stdio.h> void add(int a, int b) { void print(int res) { // nested function printf("Result is %d\n", res); return; } print(a + b); // passing sum of a and b as parameter return; } int main() { add(10, 20); return 0; }   Output:   jp@jp-VirtualBox:~/$ ./a.out   Result is 30 Previous Next

Difference between asterisk and ampersand operators in c

Address Operator (& - Ampersand): Returns address of the given variable.  Consider the following example, int *ptr, var = 10; ptr = &var; ptr = &var sets the address of the variable var to pointer ptr.  & is also called as reference operator. Let us try to understand the purpose of reference operator using the following example program.   #include <stdio.h>   int main() {         int var = 10, *ptr;         /* assigning address of variable var to pointer ptr */         ptr = &var;         /* printing the address of the variable var */         printf("Address of var is 0x%x\n", &var);         /* printing the value of pointer ptr */         printf("Value of ptr is 0x%x\n", ptr);         return 0;   }   Output:   jp@jp-VirtualBox:~/$ ./a.out   Address of var is 0x...