C Programming - Library Functions - Discussion
Discussion Forum : Library Functions - Find Output of Program (Q.No. 1)
1.
What will be the output of the program?
#include<stdio.h>
int main()
{
int i;
i = printf("How r u\n");
i = printf("%d\n", i);
printf("%d\n", i);
return 0;
}
Answer: Option
Explanation:
In the program, printf() returns the number of charecters printed on the console
i = printf("How r u\n");
This line prints "How r u" with a new line character and returns the length of string printed then assign it to variable i.
So i = 8 (length of '\n' is 1).
i = printf("%d\n", i); In the previous step the value of i is 8. So it prints "8" with a new line character and returns the length of string printed then assign it to variable i. So i = 2 (length of '\n' is 1).
printf("%d\n", i); In the previous step the value of i is 2. So it prints "2".
Discussion:
11 comments Page 1 of 2.
Bhargavi said:
9 years ago
It is not executing only.
Venkataramana said:
10 years ago
Sir I got output in dos box output:
How are you?
12.
3.
How are you?
12.
3.
Arun said:
1 decade ago
In 32 bit Linux platform.
The got output as:
How are you
11
3
The got output as:
How are you
11
3
Asha said:
1 decade ago
Why we are declaring i=printf ?
Apexa said:
1 decade ago
Hey please me in details I'm confuse. How count the string length?
(1)
SAFI said:
1 decade ago
Here there are three printf functions so o/p will be different three terms.
lets start.....
i = printf("How r u\n");
will give directly How r u
store at integer variable i but due to i is an integer data type of thus ..it store as integer will be in no. of character along with \n character .
Therefor result of 2nd printf function will print "8".
Now 3rd printf function will print as "2" by calculating len(8)+len(\n)=1+1=2
Here len(8)=taking previously i=8 and len(\n) containing in 2nd printf function.
Think you got it.
lets start.....
i = printf("How r u\n");
will give directly How r u
store at integer variable i but due to i is an integer data type of thus ..it store as integer will be in no. of character along with \n character .
Therefor result of 2nd printf function will print "8".
Now 3rd printf function will print as "2" by calculating len(8)+len(\n)=1+1=2
Here len(8)=taking previously i=8 and len(\n) containing in 2nd printf function.
Think you got it.
Sonu said:
1 decade ago
Please explain me in detail that how to count string length?
Jyoti said:
1 decade ago
Since len(8)+len(\n)=1+1=2
Balamithra said:
1 decade ago
Hey how did you get 2?
Chintoo said:
1 decade ago
'/n' at the end of the statement....
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers