Здравствуйте, 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]