如果输入的数字不是1或2,那么它会输入正确的输入(默认值)。如果ipnut是一个类似“a”的字母而不是开始垃圾邮件的默认情况。如果输入是字母,则输出默认无限次
#include <stdio.h>
#include <stdlib.h>
int main()
{
int v, kapcs = 0;
printf("Szerinted Szaki Trisztan egy kocsog?\n1 Igen\n2 Nem\n");
do
{
kapcs = 0;
scanf("%d", &v);
switch (v)
{
case 1:
printf("Igen, o egy kocsog!");
break;
case 2:
printf("Helytelen... O egy kocsog!");
break;
default:
printf("NEM VALASZLEHETOSEG, VALASSZ: 1 VAGY 2\n");
kapcs = 1;
break;
}
}
while (kapcs == 1);
return 0;
}
所以...预计什么? –
[为什么scanf()在此代码中导致无限循环?](http://stackoverflow.com/questions/1716013/why-is-scanf-causing-infinite-loop-in-this-code) – Brick