Отчет о назначении - обработка - PullRequest
0 голосов
/ 18 октября 2011

Может ли кто-нибудь объяснить, является ли следующее действительное утверждение о назначении?

x=y=Z;

Например

int x=9;
int y;
int Z; 

void setup() {
x=y=Z;
println(x);
println(y);
println(Z);
}

Это также дает другой результат, чем

void setup() {
int x=9;
int y;
int Z; 

x=y=Z;
println(x);
println(y);
println(Z);
}

1 Ответ

0 голосов
/ 18 октября 2011

Да, это допустимое назначение, но назначение работает справа налево.Если разбить его, это эквивалентно:

y = Z;
x = y;

Причина, по которой вы получаете разные значения, вероятно, потому что Z не был определен и, вероятно, смотрит на мусор.Вы можете получить другие результаты снова, если вы запустите свою программу несколько раз.

...