如何同时调用俩次scanf 给一个变量赋值?
inti,Result=0;Result=scanf("%d",&i);while(!Result){Result=scanf("%d",&i);}这段程序是为了检查第一...
int i , Result = 0;
Result = scanf("%d", &i);
while(!Result)
{
Result = scanf("%d", &i);
}
这段程序是为了检查第一次录入的i值是否为整型值
如不是整型 则会返回0 进入while循环
但是里面的scanf()却不能响应再次赋值了
有高手知道怎么回事么 求指教 展开
Result = scanf("%d", &i);
while(!Result)
{
Result = scanf("%d", &i);
}
这段程序是为了检查第一次录入的i值是否为整型值
如不是整型 则会返回0 进入while循环
但是里面的scanf()却不能响应再次赋值了
有高手知道怎么回事么 求指教 展开
展开全部
比如你输入了一个 字符型a, 就在你的输入缓冲区里面 放入a,检测到a不是整形,所以result=0;
当扫面到while语句的时候,你的a仍然在缓冲区内,所以你无法输入,自动无限循环!
只要在进入while清空输入缓冲区就可以了~
int i , Result = 0;
Result = scanf("%d", &i);
fflush(stdin); //清空输入缓冲区 就好了!
while(!Result)
{
Result = scanf("%d", &i);
}
当扫面到while语句的时候,你的a仍然在缓冲区内,所以你无法输入,自动无限循环!
只要在进入while清空输入缓冲区就可以了~
int i , Result = 0;
Result = scanf("%d", &i);
fflush(stdin); //清空输入缓冲区 就好了!
while(!Result)
{
Result = scanf("%d", &i);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |