Проблема присваиванию двух одинаковых переменных
Первый вариант:
int max, min = nabc[0];
printf("Max: %d Min: %d", max, min);
result:
Max: 6422224 Min: 1 // Ответ "max" НЕ верный
Второй вариант:
int max, min;
max = min = nabc[0];
printf("Max: %d Min: %d", max, min);
result:
Max: 3 Min: 1 // Ответ верный
В чём проблема? Не могу понять, почему из-за перебора присваивания происходит такая ошибка?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Здесь
int max, min = nabc[0];
мы видим объявление неинициализированной переменной max
и переменной min
, инициализированной значением nabc[0]
.
Здесь же
int max, min;
max = min = nabc[0];
мы видим объявление двух неинициализированных переменных max
и min
и присвоение им значения nabc[0]
.
В С нет ни множественного присвоения, ни множественной инициализации через запятую.