Я новичок в C. Я изучал функцию scanf()
, и произошла ошибка, когда я запускаю файл .exe, он выполняет, дает правильный вывод и закрывает; но он снова выполняет сам по себе, запрашивает ввод и дает правильный вывод и закрывается. Вот мой код:Программа C scanf выполняется 2 раза
#include <stdio.h>
int main() {
int a;
printf("Enter a num\n");
scanf("%d", &a);
int b = 1601;
if (a == b) {
printf("Found a match!!");
} else {
printf("Match not found!");
}
return 0;
}
В коде есть только одна ошибка. Вы игнорируете, что возвращает 'scanf()'. Вы должны написать 'if ((scanf ("% d ", & a) == 1) && (a == b))' вместо 'if (a == b)'. Помимо этого, нет причин для описанного поведения, по крайней мере, не проблема с кодом. Не могли бы вы предоставить более подробную информацию о своей среде и о том, как вы тестируете файл * .exe *? –
Что вы вводите при запуске программы в первый раз? –
Я использую компилятор MinGW gcc в Windows XP. –