[Cheap C Doubt] -



Cheap C Doubt

Discuss Cheap C Doubt



Posted by: ap

Why is there a difference in the evaluation of these two code parts (Atleast in BTC 2.0 and BTCPP 3.0 which i use)


int a=1,b;
b=a++ +a;
cout<<b<<endl; //evaluates to 2
a=1;
cout<<a++ +a; //evaluates to 3

i also suppose the use of
cout<<(a++ +a);
also shows 3. Why does this happen ?
This is also the case in case a printf() is used in C.

The printing of b i can understand, as since it is a post increment, it is evaluated in the end. But in most books, how is it that the post increment is mentioned on the top in the precedence list (some books show it above the pre-increment also). ?




Posted by: MM

Google / Read about 'sequence points' in C++



Posted by: simple

hey dude! i tried out both your codes( C and C++) in linux( vi editor) and i have found that in both cases i am getting the answer as 2. so check your compiler and try out the same code in a different compiler. c ya!!!!