Каждое нажатие на клавиатуру дважды вводит функцию, которая заменила прерывание. Почему это происходит?
Может быть, "enter" после scanf мешает? Но это касается функции дважды при каждом нажатии, а не только после первой попытки
Что я делаю не так? Как сделать так, чтобы он входил в функцию только один раз для одного нажатия каждый раз? На картинке видно, что я нажимаю 5 только дважды вместо 5
#include<stdio.h>
#include<dos.h>
volatile int ctrl_break_flag; //counter
void interrupt(*Int9Save)(void);
void interrupt my_func8(void)
{
ctrl_break_flag++;
printf("%d\n",ctrl_break_flag);
Int9Save();
}
void main()
{
int N=0,i;
Int9Save=getvect(9); //Save pointer to original interrupt.
printf("Please enter number: ");
scanf("%d",&N);
setvect(9,my_func8);//Set interrupt pointer to our function.
ctrl_break_flag=0;
while(ctrl_break_flag<N);
printf("End");
setvect(9,Int9Save);//Return to original interrupt.
return;
}