var results = data.filter(function(user) {
var roles = user.roles;
return roles.filter(function(role) {
return role == 'clientsupervisor';
});
});
如果用户输入的值不是整数,当我使用char输入运行上面的代码时,我想再次继续扫描它正在运行无限循环。请提出原因或任何解决方案......?
答案 0 :(得分:0)
如果为上述程序输入一个字符a
,则它与%d
不匹配,因此它将保留在缓冲区中。下一次在循环中,它将再次与%d
不匹配,您将进入无限循环。
您可以执行的操作是从缓冲区中读取,直到遇到换行符。第二个循环将删除任何字符,直到并包括换行符。
#include <stdio.h>
int main() {
int i;
char dummy;
while (1) {
printf("Enter no?\n"); // step -1
scanf(" %d", &i)
if (i > 0) // step-2
printf("Num=%d\n", i);
else
printf("Entered character.Pls enter int\n");
do{
scanf("%c",&dummy);
}while (dummy != '\n'); // Add this loop
}
}
答案 1 :(得分:0)
public class Foo
{
public Foo()
{
Bar = 1;
}
public int Bar { get; }
}