Известно, что результатом операции в С может быть числовая константа, а может быть ссылка на область памяти, которая появляется, например в результате присваивания:
Тот факт, что результатом является ссылка, влияет на результат, который получается в следующем примере:
Переменная d будет содержать 900, так как в результате второго присваивания переменная a получит значение 30 и оно будет перемножено само на себя, несмотря на недавнее присвоение a значения 20.
Правда, необходимо отметить, что ссылка на область памяти является ссылкой на константу, так что выражения типа
неизбежно вызовут ошибку компиляции.
a = b
Тот факт, что результатом является ссылка, влияет на результат, который получается в следующем примере:
int a=10,b=20,c=30,d; d=(a=b)*(a=c);
Переменная d будет содержать 900, так как в результате второго присваивания переменная a получит значение 30 и оно будет перемножено само на себя, несмотря на недавнее присвоение a значения 20.
Правда, необходимо отметить, что ссылка на область памяти является ссылкой на константу, так что выражения типа
(a=b)=c
неизбежно вызовут ошибку компиляции.
Комментариев нет:
Отправить комментарий