一个问题,望指教,谢谢
一个小问题,望指教,谢谢代码如下:
#include "stdafx.h"
#include "conio.h"
#include "string.h"
#include <cstdio>
int main(int argc, char* argv[])
{
char a[3] ; int count = 0,k;
s1:
printf("进入系统请输入y,退出请按n\n");
for(int i=0;;i++)
{
switch(getch())
{
case 'y':
{
printf("\n请输入1-10进行选择\n");
scanf("%d",&k);
fflush(stdin);
if(k>0&&k<11)
{
strcpy(a,"abc");
count++;
printf("\n继续请输入Y,退出请按n\n");
}
else
{
printf("你的输入有误,请重新输入\n");
goto s1;
}
}
break;
case 'n':goto s2; break;
default :
{
printf("你的输入有误,请重新输入\n");
goto s1;
}
}
}
s2:
printf("\n您的输入为:\n\n\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
for( i=0;i<count;i++)
{
printf("%d.%s \n",i+1,a);
}
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
return 0;
}
问题是进入那个选数之后,当输入数字之后再输入字符它不会报错(而当第一次输入的是字符它就会转到"你的输入有误,请重新输入"), 而且那个count还会继续累加,打印也一样.请问应该怎么解决