Несколько причин, по которым на языке C выводится отрицательное число:
Для чисел со знаком (int и т. п.) первый бит в регистре процессора интерпретируется как знак минус. yandex.ru Поэтому, когда в результате сложения в регистре первый бит устанавливается в 1, стандартная библиотека интерпретирует результат как отрицательное число. yandex.ru
Представление чисел в памяти. otvet.mail.ru Функции scanf и printf сами представляют число, и по команде %d берут байты из памяти и представляют число со знаком. otvet.mail.ru
Чтобы напечатать число со знаком, можно принудительно задать это через символ плюса (+) в спецификаторе формата. microsin.net
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.