switch必须要default分支
while(1)是死循环啊你没有跳出循环的代码,那写在while后面的代码永远也不会执行
警告是针对 while(1)后面的语句的,因为while(1)里没有跳出循环的代码,所以后面的语句都没有机会运行到。我觉得你应该把那个for循环的后括号和while循环的后括号都移到最下面去
建议题主去看看Switch分支语句,break是跳出最近的一个的大括号去执行接下来的语句。关于数码管不亮的原因是50ms延时和消隐根本没有执行。