In this tutorial, we will learn to use scanf() and printf() to take input and display the output from the user.
Table of Contents
So let’s discuss input and output functions in C without wasting any time because there is a saying that “Time is money”.

C Input
- In the C programming language,
scanf()
is used to take input from the user. - The
scanf()
the function reads input given using the keyboards.
Example 1: Let’s see how to take Integer input/output
#include <stdio.h>
int main()
{
int n;
printf("Enter a number: ");
scanf("%d", &a);
printf("Number = %d",a);
return 0;
}
Output
Enter an integer: 10 Number = 10
Code Explanation
%d
is a format specifier inside thescanf()
function to takeint
input from the user.- The integer number entered by the user is stored in a variable n.
- &- This symbol is called ampersand and is also known as the address of operator.
- &n inside scanf() gets the address of variable n and the value entered by the user is stored in that address.
Example 2: Let’s see how to take Float and Double Input/Output
#include <stdio.h>
int main()
{
float x;
double y;
printf("Enter a number: ");
scanf("%f", &x);
printf("Enter another number: ");
scanf("%lf", &y);
printf("num1 = %f\n", x);
printf("num2 = %lf", y);
return 0;
}
Output
Enter a number: 19.523 Enter another number: 18.2 x = 19.523000 y = 18.200000
Note:- Here we have used %f
and %lf
format specifier for float
and double
respectively.
Example 3: Character I/O in C
#include <stdio.h>
int main()
{
char ch;
printf("Enter a character: ");
scanf("%c",&ch);
printf("Entered character is %c.", ch);
return 0;
}
Output
Enter a character: A Entered character is A
Try the above code here with different characters.
Code Explanation
- A character data type is denoted by char in input and output functions in c programming.
- Character entered by the user has not stored itself, instead, an integer value (ASCII value) is stored.
%c
text format specifier is used to display characters.- Instead of a character if we want to display its ASCII value we have to use
%d
- In example 4 below, let’s see how to print ASCII value.
Example 4: ASCII Value
#include <stdio.h>
int main()
{
char ch;
printf("Enter a character: ");
scanf("%c", &ch);
printf("Entered character is %c.\n",ch); // Here we are printing the character
printf("ASCII value of %c %d.",ch, ch);// Here we are printing the ASCII
// Value
return 0;
}
Output
Enter a character: a Entered character is a ASCII value of a is 97
You can have a full list of ASCII values here.
Try the above code here with different values.
Till now we have taken a single input of one type only. Let’s see how can we give multiple inputs of different data types in a single statement.
Input and Output functions in C for Multiple Values
Let’s write a code snippet to illustrate multiple I/O values.
#include <stdio.h>
int main()
{
int a;
float b;
printf("Enter any integer and a float values: ");
scanf("%d%f", &a, &b);
printf("Entered values are %d and %f", a, b);
return 0;
}
Output
Enter any integer and a float values:9 5.6 Entered values are 9 and 5.600000
I/O Format Specifiers
Let’s summarize what we have learnt from the above examples.
%d
forint
%f
forfloat
%lf
fordouble
%c
forchar
Let’s have a look at commonly used C data types and their format specifiers.
Data Type | Format Specifier |
---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
unsigned int | %u |
long int | %li |
long long int | %lli |
unsigned long int | %lu |
unsigned long long int | %llu |
signed char | %c |
unsigned char | %c |
long double | %Lf |
C Output
Now in this block, as the heading suggests we are going to discuss how to print/display the outputs in C programming.
printf()
is one of the main output functions that sends formatted output to the screen.
Example 1: Output
#include <stdio.h>
int main()
{
printf("Welcome to the World of C Programming");
return 0;
}
Output
Welcome to the World of C Programming
How does this program work?
- All C programs must contain the function
main()
. - The code execution of every C program starts from the
main()
function. printf()
is a library function to send output to the screen, prints everything as it is when entered in double quotes(” “) and terminated by a semicolon (;).- We must include
stdio.h
header file using the#include<stdio.h>
statement for using printf() function. - The
return 0;
statement is the “Return status” of the program and it is not mandatory i.e., It’s optional.
4 thoughts on “Input and Output functions in C”