Скорее, ваш код всегда присваивает B
A
, и он также проверяет, равно ли значение B
(и, следовательно, A
) 1
.
В этом нет ничего «устаревшего», это обычно довольно удобная идиома, если вам нужен результат операции, но вы также хотите проверять ошибки:
int result;
if ((result = foo()) != -1)
{
printf("The result is: %i\n", result);
}
else
{
// panic
}