Код: Выделить всё
#include
void main(){
int x,y;
x=1;
y=0;
y = ++x + ++x ;
printf("Y-%d , X-%d\n",y,x);
}Я рассуждаю так:
в выражении y = ++x + ++x ;
после первого ++x x становится равным 2 и прибавляется к У, равному 0, таким образом y=0+2=2
после второго ++x x становится равным 3 и прибавляется к Y, равному 2,
таким образом y=2+3=5
Однако после выполнения программа выдает что Y=6
Почему?
Где ошибка в моих рассуждениях?
Прикольный вопрос, я уже и забыл такие штучки. Надо будет кого-нибудь "опросить". Приберегу для людей, которые в анкетах пишут "Отлично владею С/С++". Хе-хе-хе...