循环总有结束条件吧。否则就是一个死循环了。可以用while语句,
不对吧,你怎么没有判断条件呢?while(1){scanf("%d",&a); if(a>=1&&a<=8) break; printf("error input:\n");}
while(1)是如果没有break语句就是一个死循环当表达式为真就执行,注真为1,为假即退出。