void main()
{
int i=5,y=3,z=2,ans;
clrscr();
printf("%d",++i + --z + i++ + --i * ++y);
i=5,y=3,z=2;
ans=++i + --z + i++ + --i * ++y;
printf("\n%d",ans);
getch();
}
Its output is 37 and 31....
Please explain me why its different
How it works.....
Answers were Sorted based on User's Feedback
Answer / ram mohan
Ur approach may correct but I have a small dought
Plz tell me output of
Printf("", ++i + --z +i + --i * ++y) ;
@pawanjhi
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / pawanjha12
here in first statement
printf("%d",++i + --z + i++ + --i * ++y);
argument is : ++i + --z + i++ + --i * ++y.
first it will maintain stack operation like
++y (now fifth, it will execute and, y=4)(top 4)
--i (now fourth, it will execute and, i=6)
(because, last value of i were 7, once i++ were
executed, now --i will less one value in i)(top 3)
i++ (now third, it will execute and, i=6, it will
as it is, its value will for next stack value.)
(top 2)
--z (now second, it will execute and, z=1)(top 1)
++i (first it will execute and, i=6)(top 0)
now (++i + --z + i++ + --i * ++y)
(6+1+6+6*4)=(37)
it is output, say 37,for this printf("%d",++i + --z + i++
+ --i * ++y);
.................................................
Now Let me go with second statement, that is :
ans=++i + --z + i++ + --i * ++y;
here,
first of all ++y will contain the value of variable y=4
++y=4
after this, --i will less the value of variable i, say now
i = 4,
(--i=4),
after this, i++ will execute and, it will not increase the
value of variable i, right now, so value of i, say now i =
4, as it is.
after this, --z will less the value of variable z, say now
z = 1,
(--z=1)
now, ++i will increase the value of variable i.
Say i = 5.
.......................................................
now value of valiable i in memory is 5.
ans=5+1+5+5*4
ans=5+1+5+20
ans=31..........,
still if you are not getting, so come to me at
pankajace12@gmail.com
| Is This Answer Correct ? | 1 Yes | 5 No |
How to create a program that lists countries capitals when country is entered? (Terribly sorry, I'm a complete novist to coding with C, am looking for inspiration and general tips on how to code and create this program.)
Given that two int variables, total and amount, have been declared, write a loop that reads integers into amount and adds all the non-negative values into total. The loop terminates when a value less than 0 is read into amount. Don't forget to initialize total to 0. Instructor's notes: This problem requires either a while or a do-while loop.
Write down the difference between c. Loop and goto statement d. (!0) and (!1) e. (1= =! 1) and (1!=1) f. NULL and !NULL
loop1: { x=i<n?(i++):0; printf("%d",i); exit(x); continue; } Error- misplaced continue. Doubt-1.will the exit(x) be executed for all values of x 2.will this statement go out of the program.
write a profram for selection sort whats the error in it?
what is macro in c? Difference between single linked list & double linked list what is fifo & lifo? what is stack & queue?
when i use cout or cin call & then either << or >> .....it shows declaration syntax error...what should i do? cout<<"anything"; int a; cin>>a; return 0;
void main() { int i=7; printf("N= %*d",i,i); }
I'm having trouble with coming up with the correct code. Thank You!! The assignment was to write a program using string functions that accepts a price of an item and displays its coded value. The base of the keys: X C O M P U T E R S 0 1 2 3 4 5 6 7 8 9 Sample I/O Dialogue: Enter Price: 489.50 Coded Value: PRS.UX
wap for bubble sort
#include<>stdio.h> #include<>conio.h> { printf("hello"); void main() getch(); } what the out put of this program and why ......plz clear my answer
which typw of errors ? & how to solve it ?