Поэтому я пытаюсь создать программу, которая скажет мне, какое число я думаю между 0 и 126. Я написал небольшую программу на C, которая спрашивает вас, какое число вы думаете, и если оно меньше, чем то, которое я говорю aвычислите новое число на основе верхнего и нижнего предела, который я установил. Но когда я ставлю ответ вроде - или +, я получаю странную ошибку, когда строка, которая должна отображаться 1 раз, записывается 2 раза, а если я ставлю в качестве ответа - я получаю написанные 3 строки, что странно. Чего мне здесь не хватает?
int valoreSup=126;
char risposta;
int valoreInf=0;
int N = (valoreInf+valoreSup)/2;
do
{
printf("E il tuo valore: %d\n", N);
scanf("%c", &risposta);
if (risposta=='-') {
valoreSup=N;
int N = (valoreInf+valoreSup)/2;
}
if (risposta=='+') {
valoreInf=N;
int N = (valoreInf+valoreSup)/2;
}
} while(risposta!='=');
printf("%d\n", N);
Нет сообщений об ошибках (я использую атом), но результаты странные. значение N не изменяется, и цикл повторяется странным образом.