C return value of printf
In C Programming we are repeatedly using printf statement. This tutorial explains what is the return value of printf () statement in C Programming.
Return value of printf () function
- Printf Statement is used to print something on console (on screen).
- Printf is predefined function is C programming language declared in
stdio.h
header file. - Return value of printf () statement is an integer i.e printf statement returns the total number of characters successfully printed on the screen.
Program 1 : Assigning Value of printf
#include<stdio.h> void main() { int count = printf("Hello"); printf("\nValue of count : %d",count); }
Output :
Hello Value of count : 5
In the above example we have assigned the return value of printf()
statement to a integer variable. Thus output of the above program would be like -
Firstly it will print the hello
and after printing the message total number of characters printed on the screen is 5 so it will assign value ‘5’ to an integer variable.
Program 2 : Using backslash characters
#include<stdio.h> void main() { int count = printf("Hello\n\n\n"); printf("\nValue of count : %d",count); }
Output :
Hello Value of count : 8
In the program we have done just simple modification. We have just included the backslash characters in the printf statement. In this case return value of printf () statement includes all the backslash characters
Recommended Article : Backslash Characters
Program 3 : Nested Printf statements
#include<stdio.h> void main() { int a=20; printf("%d",printf("%d %d %d", a,a,a)); }
Output :
20 20 208
In the above example :
- Consider important rule which says - Always innermost printf will be executed First.
- Printf function returns the number of characters printed.
- In the Above Example of nested printf , Inner Printf Prints [20 20 20], here number of Characters Printed On Screen = 8 (including two Blank Spaces)
printf("%d",8);
- Outer Printf will Print “8”
Program 4 : Yet another example
#include<stdio.h> void main() { printf("%d",printf("Hello")); }
Output :
Hello5