UINT i,j;
i = j = 0;
i = ( i++ > ++j ) ? i++ : i--;

explain pls....

Answers were Sorted based on User's Feedback



UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls......

Answer / raj

1.we know that i=j=0 initially

2.then it will checks the non-incremented 'i' value(i.e 0)
with incremented 'j' value(i.e 1). So obviously condition
is falls.

3.now false statement has to be executed i.e (i--),before
executing this 'i' value is (i.e incremented value)'1'
after executing false condition(i.e i--)the value of 'i'
becomes '0'.

4.So the value of 'i' is '0'.

Is This Answer Correct ?    30 Yes 2 No

UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls......

Answer / vignesh1988i

UNIT i,j :
this line indicates that UNIT is an user defined data type. it may been declared as follows :

typedf int UNIT
we are making the code more readable

i=j=0 : indicates that the var. i and j are declared as 0

i=(i++>++j) ? i++ : i-- : the process here is

i++ is an post incrementation . if this is compared with any relational or any operaters first that value will be operated first and the 'i' will get incremented ........
but ++j if we take first thing it will increment the value and then operation will be performed

so when it is compared first i will be 0 and j will be 1 so 0 is not greater than 1. so false, so it will go to the statement after ':' so i-- is there so final value of i will be 0.

thank u

Is This Answer Correct ?    6 Yes 1 No

UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls......

Answer / dhatchina moorthy

r u guys nuts the person answered first is right.he
non-incremented 'i' value(i.e 0)
with incremented 'j' value(i.e 1). So condition
is falls.
so false part has to be executed i.e (i--),before
executing this 'i' value is (i.e incremented value)'1'
after executing false condition(i.e i-- her it doesn't
increment bcoz it is postfix operator)the value of 'i'
becomes '1'.

still having doubts, compile this program in ur pc.

Is This Answer Correct ?    5 Yes 1 No

UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls......

Answer / prem_mallappa

All answers are incorrect except this one.
Read c-faqs (Frequently asked questions about C)
The answer is unpredictable or implementation defined.

Is This Answer Correct ?    0 Yes 1 No

UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls......

Answer / chaneswara reddy

(i++ > j++) gives 0 because 0 > 0 is false so it return 0.
before returning 0 i is 1 ,but it is overwrite by 0.
In the Conditional operator false means ,it executes i++;
so i is 1.

Is This Answer Correct ?    3 Yes 19 No

Post New Answer

More C C++ Errors Interview Questions

void main() { for(int i=0;i<5;i++); printf("%d",i); } What is the output?..

32 Answers   College School Exams Tests, CTS, HCL, iGate, SmartData,


full c programming error question based problem

3 Answers   HCL, TCS,


Given an int variable n that has been initialized to a positive value and, in addition, int variables k and total that have already been declared, use a do...while loop to compute the sum of the cubes of the first n whole numbers, and store this value in total . Thus if n equals 4, your code should put 1*1*1 + 2*2*2 + 3*3*3 + 4*4*4 into total . Use no variables other than n , k , and total .

3 Answers  


I'm having trouble with coming up with the correct code. Do I need to put a loop? Please let me know if I'm on the right track and what areas I need to correct. I still don't have a good grasp on this programming stuff. Thanks =) The assignment was to write a program using string functions that accepts a coded value of an item and displays its equivalent tag price. The base of the keys: 0 1 2 3 4 5 6 7 8 9 X C O M P U T E R S Sample I/O Dialogue: Enter coded value: TR.XX Tag Price : 68.00

3 Answers   UCB,


How to reverse a linked list without using array & -1? Thank you.

2 Answers   Access, Satyam,






wap for bubble sort

3 Answers  


void main() { int i=7; printf("N= %*d",i,i); }

6 Answers   HCL,


what are the techniques for reducing the fragility of a memory bug?

1 Answers  


write the value of x and y after execution of the statements: int x=19,y; y=x++ + ++x; x++; y++;

0 Answers  


UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls....

5 Answers  


who was the present cheif governor of reserve bank of india

6 Answers   State Bank Of India SBI,


errors are known as?

3 Answers   EX, State Bank Of India SBI,


Categories