Skip to content
Related Articles

Related Articles

Improve Article
Return values of printf() and scanf() in C/C++
  • Difficulty Level : Easy
  • Last Updated : 29 Nov, 2020

What values do the printf() and scanf() functions return ? 
 

printf() : It returns total number of Characters Printed, Or negative value if an output error or an encoding error 
Example 1: The printf() function in the code written below returns 6. As ‘CODING’ contains 6 characters.
 

CPP




// C/C++ program to demonstrate return value
// of printf()
#include <stdio.h>
 
int main()
{
    char st[] = "CODING";
 
    printf("While printing ");
    printf(", the value returned by printf() is : %d",
                                    printf("%s", st));
 
    return 0;
}
Output
While printing CODING, the value returned by printf() is : 6

Example 2: The printf() function in the code written below returns 9. As ‘123456789’ contains 9 characters.
 

CPP




// C/C++ program to demonstrate return value
// of printf()
 
#include <stdio.h>
int main()
{
    long int n = 123456789;
 
    printf("While printing ");
    printf(", the value returned by printf() is : %d",
                                    printf("%ld", n));
 
    return 0;
}
Output



While printing 123456789, the value returned by printf() is : 9

 

 

scanf() : It returns total number of Inputs Scanned successfully, or EOF if input failure occurs before the first receiving argument was assigned.
Example 1: The first scanf() function in the code written below returns 1, as it is scanning 1 item. Similarly second scanf() returns 2 as it is scanning 2 inputs and third scanf() returns 3 as it is scanning 3 inputs.
 

CPP




// C/C++ program to demonstrate return value
// of printf()
 
#include <stdio.h>
int main()
{
    char a[100], b[100], c[100];
 
    // scanf() with one input
    printf("\n First scanf() returns : %d",
                            scanf("%s", a));
 
    // scanf() with two inputs
    printf("\n Second scanf() returns : %d",
                       scanf("%s%s", a, b));
 
    // scanf() with three inputs
    printf("\n Third scanf() returns : %d",
                  scanf("%s%s%s", a, b, c));
 
    return 0;
}
Input:
Hey!
welcome to
geeks for geeks


Output:
 First scanf() returns : 1
 Second scanf() returns : 2
 Third scanf() returns : 3

 

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.



My Personal Notes arrow_drop_up
Recommended Articles
Page :