Когда вы запускаете консольную программу из Visual Studio, она открывает окно терминала, запускает программу и окно терминала закрывается автоматически при выходе из программы. Это классическая c проблема с платформой Microsoft Windows, о которой они, похоже, не заботятся, несмотря на то, что миллионы начинающих ie программистов, как и вы, сталкиваются с той же проблемой.
Если вы откроете окно терминала самостоятельно, запустив команду CMD
из меню «Пуск», вы сможете запустить вашу программу вручную после изменения текущего каталога на каталог двоичного файла программы.
Чтобы предотвратить немедленное закрытие окна терминала при работая непосредственно из Visual Studio, вы должны добавить 2 getchar();
операторов перед возвратом из main()
, чтобы дождаться ввода данных пользователем и получить возможность увидеть результаты. Простого чтения одного байта с getchar()
будет недостаточно, поскольку он будет просто читать ожидающий перевод новой строки, введенный пользователем в ответ на второе приглашение.
Также обратите внимание, что предпочтительно выводить завершающий перевод новой строки, чтобы вывод корректно сбрасывается в некоторых устаревших системах:
printf("Answer: %d\n", num1 + num2);
Вот модифицированная программа, которую вы можете проверить:
#include <stdio.h>
int main(void) {
int num1 = 0, num2 = 0;
printf("Enter a number: ");
scanf("%d", &num1);
printf("Enter another number: ");
scanf("%d", &num2);
printf("Answer: %d\n", num1 + num2);
getchar(); // read the pending newline
getchar(); // read at least another byte from the user.
return 0;
}