присваивание значений переменной

Код на си:

num = (num *= s, i = num, num -= i);

не понимаю как тут присваиваются значения. помогите


Ответы (1 шт):

Автор решения: Harry
num = (num *= s, i = num, num -= i);

В скобках использован оператор "запятая, т.е. выполняются поочередно опетаторы

num *= s;
i = num;
num -= i;

и возвращается значение последнего оператора, т.е. num. Т.е. выполняется присваивание

num = num;

Впрочем, очевидно, что num будет 0 для любых значений, так что все, что делает этот код, можно записать как

i = num*s;
num = 0;
→ Ссылка