C – printf and scanf

      Prev                                                                                              Next

  • printf() and scanf() functions are inbuilt library functions in C which are available in C library by default. These functions are declared and related macros are defined in “stdio.h” which is a header file.
  • We have to include “stdio.h” file as shown in below C program to make use of these printf() and scanf() library functions.


1. C printf() function:

    • printf() function is used to print the “character, string, float, integer, octal and hexadecimal values” onto the output screen.
    • We use printf() function with %d format specifier to display the value of an integer variable.
    • Similarly %c is used to display character, %f for float variable, %s for string variable, %lf for double and %x for hexadecimal variable.
    • To generate a newline,we use “n” in C printf() statement.


    • C language is case sensitive. For example, printf() and scanf() are different from Printf() and Scanf(). All characters in printf() and scanf() functions must be in lower case.

Example program for C printf() function:

#include <stdio.h>

int main()
   char  ch = 'A';
   char  str[20] = "cprogramming.mynetworkip.com";
   float flt = 10.234;
   int no = 150; 

   double dbl = 20.123456;
   printf("Character is %c n", ch);
   printf("String is %s n" , str);
   printf("Float value is %f n", flt);
   printf("Integer value is %dn" , no);

   printf("Double value is %lf n", dbl);
   printf("Octal value is %o n", no);
   printf("Hexadecimal value is %x n", no);

   return 0;



Character is A
String is cprogramming.mynetworkip.com
Float value is 10.234000
Integer value is 150
Double value is 20.123456
Octal value is 226
Hexadecimal value is 96

You can see the output with the same data which are placed within the double quotes of printf statement in the program except

    • %d got replaced by value of an integer variable  (no),
    • %c got replaced by value of a character variable  (ch),
    • %f got replaced by value of a float variable  (flt),
    • %lf got replaced by value of a double variable  (dbl),
    • %s got replaced by value of a string variable  (str),
    • %o got replaced by a octal value corresponding to integer variable  (no),
    • %x got replaced by a hexadecimal value corresponding to integer variable
    • n got replaced by a newline.

2. C scanf() function:

    • scanf() function is used to read character, string, numeric data from keyboard
    • Consider below example program where user enters a character. This value is assigned to the variable “ch” and then displayed.
    • Then, user enters a string and this value is assigned to the variable “str” and then displayed.

Example program for printf() and scanf() functions in C:

#include <stdio.h>

int main()
    char ch;
    char str[100];

    printf("Enter any character n");
    scanf("%c", &ch);
    printf("Entered character is %c n", ch);

    printf("Enter any string ( upto 100 character ) n");
    scanf("%s", &str);
    printf("Entered string is %s n", str);


Enter any character
Entered character is a
Enter any string ( upto 100 character )
Entered string is hai
    • The format specifier %d is used in scanf() statement. So that, the value entered is received as an integer and %s for string.
    • Ampersand is used before variable name “ch” in scanf() statement as &ch.
    • It is just like in a pointer which is used to point to the variable. For more information about how pointer works, please click here.

      Prev                                                                                              Next