WHAT WILL BE OUTPUT OF BELOW CODE . . AND PLEASE EXPLAIN HOW
IT COME ..
#include<stdio.h>
#include<conio.h>
void main()
{
int k=20;
printf("%d%d%d%d",k,k++,++k,k);
getch();
}
Answers were Sorted based on User's Feedback
22 21 21 20 THIS WILL THE OUTPUT..
this is merely an STACK operation.... here we have 4
parameters.. so the four parameters will be pushed inside
the stack one by one... as
TOP : k
++k
k++
BOTTOM : k
so the expressions will be evaluated from the top.. and thus
the answer....
thank u
| Is This Answer Correct ? | 9 Yes | 3 No |
Answer / mohamed ali
THE ANSWER IS
20 20 22 22
YOU HAVE THE 1ST 20 AS IT'S THE INITIAL VALUE
THEN YOU HAVE K++ .... HERE WE HAVE THE SAME VALUE OF K THEN
IT WILL BE INCREMENTED BY ONE .... SO YOU HAVE THE 2ND 20
AND THEN K WILL BE 21
THE THIRD YOU HAVE ++K .... WHICH MEANS THAT YOU WILL
INCREMENT THEN TYPE THE VALUE AND SINCE YOU HAVE NOW K=21
FROM PREVIOUS STEP (K++) SO THIS VALUE WILL BE INCREMENTED
BY ONE (K = 22 ) SO YOU HAVE THE THIRD VALUE 22
THEN YOU HAVE A SINGLE K WITH NO OPERATIONS SO ANOTHER 22
IF SOMEONE SEES THAT I'M WRONG PLZ CORRECT MY VIEW
THANKS
| Is This Answer Correct ? | 8 Yes | 5 No |
Answer / prats
but when we compile this code in editor it shows the output
22 21 21 20 .
whts wrong then ?
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / pratik
i am agree with yognesh , ,
when u compile this is C it gives 22 21 21 20 . .
check it out ..
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / rajadurai thangaraj
22 21 22 22
stack execution:-
4 ->printf k now k=22
3 ->printf 21 k=k+1 now k=22, k of 1&2 also 22
2 ->k=k+1 printf k now k=21, k of 1 also 21
1 ->printf k now k=20
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / ashish
20212120 is the write answer because there is no space between
specified data type %d
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / anand
The answer should be 22212120
Arguments passed to the printf statement would get executed
from the right to left..
1. k = 20
2. ++k = 21 (Pre Increment)
3. k++ = 21 (Post Increment(k value now is 22))
4. k = 22
Thus the output : 22212120
| Is This Answer Correct ? | 1 Yes | 1 No |
i want to switch my career from quailty assurance engineering to development kindly guide me from which programming language its better for me to start plz refer some courses or certifications too i have an experience of 1.5 yrs in QA field.Kindly guide me
int main() { int i=-1,j=-1;k=0,l=2,m; m=i++&&j++&&k++||l++; printf("%d%d%d%d%d",i,j,k,l,m); }
4. main() { int c=- -2; printf("c=%d",c); }
Write a program in c to input a 5 digit number and print it in words.
Write a program to print a (*)pattern programming (A to Z) in capital in one programming ?
what is c?
What is LINKED LIST? How can you access the last element in a linked list?
What is array within structure?
Given an array of numbers, except for one number all the others occur twice. Give an algorithm to find that number which occurs only once in the array.
write a “Hello World” program in “c” without using a semicolon?
What is #define?
how to make a scientific calculater ?