添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
main()
{
int m;
int i,a;
char c[N][M];
char *p[N];
*p=NULL;
while(1)
{
m=Menu();
do
{
getchar();
}while(m==0);
switch (m)
{
case 1:
printf("请输入要输入字符串的个数:");
scanf("%d",&a);

////就是这里,如果a输入不符合,那么怎么才能返回,并重新输入a
getchar();
in(a,c,p);
break;
...收起
可以使用清理输入流fflush(stdin);这个原因是因为错误输入的内容会保留在输入流,下一次判断会从输入流开始读取,因为错误输入的内容还在,所以直接判断错误,继续循环。 但有些编译器并不支持清理输入流。所以我们这时需要用手动输入让其清除。使用getchar();让其接收错误的字符。但这样就会变成这样,如果输入多个错误就会出现多个次数的循环;直至没有错误输入;这样如果循环内容多,所消耗的资源也就多了。 所以可以使用while()来执行里面的消除字符,但如果直接这样while(getchar())就会进入无限循环,
...全文
数据输入错误,有两种情况: 1 输入的数据格式不正确,比如要求输入整型,但是输入了字符型。 这种情况,可以通过scanf的返回值进行判断,scanf的返回值是正确输入的变量个数。当返回值和要输入的变量个数不同时,则表示出错,要求重新输入。 2 输入的数据不在合法范围内。 比如要求输入正数,但输入了负数。这时需要判断输入的值是否合法。 以输入两个整数,要求范
...全文