|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2014, 12:27 | #1 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
Как именно работает это выражение? a=b=c=o;
Добрый день всем!
Хотел бы понять, как именно работает такой код. Предположим, есть переменные: a=1; b=2; c=3; если их приравнять нулю в таком выражении: a=b=c=0; то они будут одновременно приравнены 0 или поочередно приравниваться друг другу, а потом уже нулю? Не может ли случиться ситуации, когда окажется, что a равно b, b равно c? Пусть даже на очень незначительный промежуток времени. Вопрос из праздного любопытства - хочется знать точно, как данный код работает. Спасибо за ответы! |
12.02.2014, 13:16 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
a=b=c=0;
1) переменной с присваивается значение 0. 2) Переменной b присваивается результат операции (c=0), то есть значение 0 типа System.Int32 3) Переменной a присваивается результат операции (b=(c=0)), т.е. значение 0 типа Int32 Вся соль в том, что оператор присваивания не только меняет содержимое левого операнда, но и возвращает значение Ссылка на описание работы оператора присваивания: http://msdn.microsoft.com/ru-ru/library/sbkb459w.aspx
Благодарить в репутацию. Проклинать — туда же
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как можно сократить это выражение? | kostan3 | Visual C++ | 1 | 10.03.2013 15:29 |
Функция на Си, как именно она работает | Алексей Денисов | Помощь студентам | 3 | 13.11.2011 20:16 |
как это работает? | pufystyj | Общие вопросы C/C++ | 6 | 24.04.2011 16:50 |
Как это работает? | Ислам | Помощь студентам | 0 | 15.03.2011 20:11 |
Си++. Как это работает? | paladinn | Помощь студентам | 3 | 18.07.2009 01:48 |