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
Answer / jaya prakash
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 ? | 219 Yes | 53 No |
Answer / manju
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
added i.e. x=57,y=37.
so x=57
y=57+37=94.
Is This Answer Correct ? | 58 Yes | 17 No |
Answer / bala
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 ? | 47 Yes | 10 No |
Answer / joseph
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 ? | 25 Yes | 7 No |
Answer / ledia
The program results in an undefined behaviour. You're wrong
if you have a certain answer. Learn more on the wikipedia
http://en.wikipedia.org/wiki/Sequence_point
Is This Answer Correct ? | 5 Yes | 4 No |
show how link list can be used to repersent the following polynomial i) 5x+2
I was asked to write a program in c which when executed displays how many no.of clients are connected to the server.
Compare array data type to pointer data type
i want to know the procedure of qualcomm for getting a job through offcampus
write a C program: To search a file any word which starts with ?a?. If the word following this ?a? starts with a vowel.Then replace this ?a? with ?a? with ?an?. redirect with the output onto an output file.The source file and destination file are specified by the user int the command line.
How can I convert integers to binary or hexadecimal?
Write a program to implement queue.
What is the difference between int main and void main?
Can we initialize extern variable in c?
can we execute the program with the object file
writ a program to compare using strcmp VIVA and viva with its output.
What is structure in c language?