Example(s):Palindrome, prime, armstrong, "linear search", reverse etc.
Example(s):1575, 1632, 1539 (Only one at a time)
Login
[lwa]
Solved Problem
#CPP#2014
Problem Statement - Output writing – If-else with post/pre increment
Write the output of the following c++ program when the user input value are -1 and 1.
int main()
{
int n;
cout<<"Enter and integer :";
cin>>n;
if(n++ >= ++n)
cout<<n<<" if";
else
cout<<++n<<" else";
return 0;
}
Solution
TC++ #2014
Run Output
Enter and integer :-1
1 else
-OR-
Enter and integer :1
3 else
Notes
if(n++ >= ++n) cout<<n<<” if”;
If n is 1 then value before >= will be 1 itself as it is a post increment operator. The value after >= will be 2, so the condition will be false and the value of n will become 2 as soon as this expression is evaluated.
else cout<<++n<<” else”;
Since it will reach the else condition as if expression was evaluated as false. Now if the input was 1 it will reach here as 2 and with the pre-increment as ++n it will become 3. Similarly if the initial input is -1 it will become +1 (+1 is two increments ahead of -1).
Common Errors
Many students forget to pre-increment value in the if expression comparison.