zhudean11 发表于 2024-9-14 16:17:24

初级C51问题

各位前辈,如图这个程序,我偶然发现将while(1)去掉,花括号内的前两条语句被跳过,直接执行了最后一条语句。这是怎么回事呢。

zhudean11 发表于 2024-9-14 16:19:50

如果将while(1)加上,所有语句正常执行。初学不知道怎么回事

21cnsound 发表于 2024-9-14 16:56:45

把优化等级改为0应该就不会被优化掉了

zhudean11 发表于 2024-9-14 16:58:12

21cnsound 发表于 2024-9-14 16:56
把优化等级改为0应该就不会被优化掉了

感谢!我试试

zhudean11 发表于 2024-9-14 17:01:18

zhudean11 发表于 2024-9-14 16:58
感谢!我试试

就是优化等级的问题,改成0就好了,谢谢!

小飞侠 发表于 2024-9-15 16:42:18

注释掉会死机的,主程序中While(1)必须有

zhudean11 发表于 2024-9-16 08:03:07

小飞侠 发表于 2024-9-15 16:42
注释掉会死机的,主程序中While(1)必须有

注释掉但把优化等级改成0,仿真也没问题,我原来写的是while(1);在最后,发现前面执行的不对,丢了两条语句。

21cnsound 发表于 2024-9-16 08:18:38

zhudean11 发表于 2024-9-16 08:03
注释掉但把优化等级改成0,仿真也没问题,我原来写的是while(1);在最后,发现前面执行的不对,丢了两 ...

是的while(1);转成汇编应该就是END语句,否则程序就跑飞了。

lyldzxx 发表于 2024-9-16 09:30:55

.

WHX 发表于 2024-9-16 09:46:59

不要while(1)?骚操作!{:4_245:}
页: [1] 2
查看完整版本: 初级C51问题