2011-12-30 2 views

ответ

6

Это из-за расстояния. Унарный оператор + может быть применен столько раз, сколько необходимо, и поэтому ваше выражение становится:

1 + (+(+1)) 

То есть,

1 + 1 

. Обычно вы не можете этого сделать, т. Е. 1 + ++ 1 не будет работать, но это связано с тем, что два + s анализируются как приращение префикса, которое является недопустимым, если оно не используется для переменной. Точно так же 1 +++ 1 терпит неудачу, потому что он разобран как 1++ + 1, и вы не можете увеличивать 1.

1

Он разбирается как ...

1 + (+ (+ 1)) 

... который, очевидно, имеет значение два.

Смежные вопросы