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;
}
How r u
7
2
How r u
8
2
How r u
1
1
Error: cannot assign printf to variable
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.

Arun said:   1 decade ago
In 32 bit Linux platform.

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.

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:

Your comments will be displayed after verification.