C conditional operator rules
Rules of Using conditional [ ?: ] Operators in C
1 . It’s not compulsory that the conditional operators should be used only in arithmetic statements.
int i=1 ; (i == 1 ? printf( "Case 1" ): printf("Case 2"));
Output :
Case 1
2.Conditional operators may be nested
int largest, a=10, b=20, c=30 ; largest = (a > b ? ( a > c ? 10: 30 ) : ( b > c ? 20: 30 ) ); printf("Largst Number : %d",largest);
Output :
Largst Number : 30
3. Lvalue Required Error
a > b ? temp = a : temp = b ;
- In absence of parentheses the compiler believes that b is being assigned to the result of the expression to the left of second =
- So in order to avoid this error , use it like this -
a > b ? temp = a : (temp = b);