实在不懂为什么错。c51单片机运行八尾数码管显示学号

img

img


不懂哪里错了显示warning C294: unreachable code

switch必须要default分支

while(1)是死循环啊
你没有跳出循环的代码,那写在while后面的代码永远也不会执行

警告是针对 while(1)后面的语句的,因为while(1)里没有跳出循环的代码,所以后面的语句都没有机会运行到。我觉得你应该把那个for循环的后括号和while循环的后括号都移到最下面去

建议题主去看看Switch分支语句,break是跳出最近的一个的大括号去执行接下来的语句。关于数码管不亮的原因是50ms延时和消隐根本没有执行。

img