所以我试图创建一个程序来告诉我我在想0到126之间的数字。我用C编写了一个小程序,询问您在想什么数字,以及该数字是否小于我说的数字。计算我设定的上限和下限上的新数字。但是,当我输入-或+之类的答案时,我遇到一个奇怪的错误,该行应该显示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的值不变,并且循环以奇怪的方式重复。