Re: выражение присваивания, что возвращает
От: abdab Россия  
Дата: 17.08.11 11:59
Оценка: +1
Здравствуйте, abc1234573, Вы писали:

A>что возвращает выражение типа. когда одно значение присваивается другому


A>int a, b = 1;


A>if (a = b) // именно здесь что возвращает выражение?

A>{
A> // print result
A>}

Возварщает значение а.
Все это хорошо видно в дизассемблере, например, в студии:

  if( a = b )
009D14D5  mov         eax,dword ptr [b] 
009D14D8  mov         dword ptr [a],eax 
009D14DB  cmp         dword ptr [a],0 
009D14DF  je          main+48h (9D14F8h)


То есть выражение

if (a = b)
[ccode]
эквивалентно коду

a = b;
if (a)
[/ccode]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.