main()
{
int x=20,y=35;
x = y++ + x++;
y = ++y + ++x;
printf("%d %d\n",x,y);
}

Answers were Sorted based on User's Feedback

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

57 94

{x=y++ + x++;}
equal to
{
x=y+x;//35+20
x++; //56
y++; //36
}

y=++y + ++x;
equal to
{
++y;//37
++x;//57
y=y+x;//37+57
}

So x=57
y=94

 Is This Answer Correct ? 160 Yes 32 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

57
94

 Is This Answer Correct ? 86 Yes 25 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

while calculating the x value,x & y values are post
incremented.So the values of x & y are added and then
incremented i.e. x=56,y=36
while calculating the y value,x & y values are
preincremtned,so x & y values are incremented and then
so x=57
y=57+37=94.

 Is This Answer Correct ? 52 Yes 12 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

56 93.

I will rewrite the above program for ur understand.

int x=20,y=35;
int x1,y1;
x1=y++ + x++; //this line y=35 and x=20 before assign the
value to x.
x=x1; // Value of x1=55, y=36 and x=21.
y1=++y + ++x;//this line y=37 and x=56 before assign the
value to y.
y=y1;// Value of x=56, y=37 and y1=93.
Finally x=56 and y=93

 Is This Answer Correct ? 28 Yes 8 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

Here this should make it easier for you...

Problem_________|___Solution__|

int x=20, y=35; (here the values of x,y are apparent.)

x = y++ + x++; (x=y+x+1) or(x = 35 + 20 + 1)x = 56
But; you incremented y, its now = 36

y = ++y + ++x; (y =(y+1)+(x+1)) or(y=1+36+1+56)y = 94
This is the second time you incremented
x so it is now = 57.

The reason that you are getting different increases
for x and y is that when you use statement(x=x++) you are
first stating that x is = to x, and then 'increment x.
when you use statemnt(x=++x) you are first
stating 'increment x, then that x is = to x.

look at the code and description in the chart below.

table:
code = meaning;
int x=2
int y=2
-------------------|
(x=x++) = "x = x, x + 1" (increment happens after)
(x=++x) = "x = (x+1)" (increment happens before)
(x=y++) = "x = y, y + 1" (increment happens after)
(x=++y) = "x = (y+1)" (increment happens before)

if you want to add y to x and then increment y use this
statement:

x+=y++

if you want to increment y and then add it to x use this
statement:

x+=++y

 Is This Answer Correct ? 24 Yes 7 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

57 94

 Is This Answer Correct ? 33 Yes 18 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

x=57
y=94

 Is This Answer Correct ? 29 Yes 14 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

 Is This Answer Correct ? 15 Yes 11 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

56 93

 Is This Answer Correct ? 5 Yes 2 No

main() { int x=20,y=35; x = y++ + x++; y = ++y + ++x; printf(&q..

The program results in an undefined behaviour. You're wrong
http://en.wikipedia.org/wiki/Sequence_point

 Is This Answer Correct ? 4 Yes 4 No

More C Interview Questions

Given a single Linked list with lakhs of nodes and length unknown how do you optimally delete the nth element from the list?

Write the test cases for checking a variable having value in range -10.0 to +10.0?

a memory of 20 bytes is allocated to a string declared as char *s then the following two statements are executed: s="Etrance" l=strlen(s); what is the value of l ? a.20 b.8 c.9 d.21

simple program of graphics and thier outpu display with a want what is out put of graohics in c language

write a pgm to print 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1

Write a simple program to find the size of different basic data types in C.

How we can set and clear bit in a byte using macro function?

How to convert a binary number to Hexa decimal number?? (Note:Do not convert it into binary and to Hexadecimal)

main() { int i; printf("%d",scanf"%d",&i))//if the input is 12 24 34 then wat will be the output }

int main() { int *p=new int; *p=10; del p; cout<<*p; *p= 60; cout<<*p; } what will be the output & why?

what is meant by the "equivalence of pointers and arrays" in C?

Write a C/C++ program that connects to a MySQL server and displays the global TIMEZONE.

Categories