找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 23504|回复: 12
收起左侧

keil编译时总是出现warning C294: unreachable code警告

[复制链接]
ID:367948 发表于 2021-1-18 17:18 | 显示全部楼层 |阅读模式
iDayOfMonth[13] = -29;
iDayOfMonth[i ] = huancun + 29;
iDayOfMonth[14]=iDayOfMonth[13]+(-29);
请教一下高手,51单片机编程时,上面的语句在keil编译时总是出现warning C294: unreachable code警告,上面的语句有问题吗?
回复

使用道具 举报

ID:235200 发表于 2021-1-18 21:53 | 显示全部楼层
上面的代码肯定没有问题,但综合整体程序来说可能有问题,比如数组和变量没有定义,或许是这几个语句放在程序运行的循环外且放在无限循环后面(提示错误就是这个意思)
回复

使用道具 举报

ID:235200 发表于 2021-1-18 21:56 | 显示全部楼层
提示的错误就是把这几个语句放在无限循环的后面,程序不可能运行到这一步,所以在提问时不要只把有问题的语句贴上来,要贴上整体程序
回复

使用道具 举报

ID:878756 发表于 2021-1-18 22:55 | 显示全部楼层
这段代码没问题,要看具体怎么调用
回复

使用道具 举报

ID:933216 发表于 2021-7-2 20:38 | 显示全部楼层
csmyldl 发表于 2021-1-18 21:53
上面的代码肯定没有问题,但综合整体程序来说可能有问题,比如数组和变量没有定义,或许是这几个语句放在程 ...

受益了!
回复

使用道具 举报

ID:933216 发表于 2021-7-2 20:41 | 显示全部楼层
csmyldl 发表于 2021-1-18 21:53
上面的代码肯定没有问题,但综合整体程序来说可能有问题,比如数组和变量没有定义,或许是这几个语句放在程 ...

错把while当成delay
回复

使用道具 举报

ID:954170 发表于 2021-7-20 12:40 | 显示全部楼层
这是个逻辑警告,比如
if(1)
{
   a = 1;
}
else
{
   a = 2;
}

就会报unreachable code警告,因为else语句a=2;永远进不去
回复

使用道具 举报

ID:934353 发表于 2021-7-20 14:13 | 显示全部楼层
就是警告指出的那一行代码永远也运行不到
回复

使用道具 举报

ID:1047716 发表于 2022-10-27 20:22 | 显示全部楼层
想问一下,这个问题解决没有啊
回复

使用道具 举报

ID:161164 发表于 2022-10-27 22:32 | 显示全部楼层
cajswrz 发表于 2022-10-27 20:22
想问一下,这个问题解决没有啊

要贴代码才能解决
回复

使用道具 举报

ID:883242 发表于 2022-10-28 09:36 | 显示全部楼层
cajswrz 发表于 2022-10-27 20:22
想问一下,这个问题解决没有啊

不需要解决,程序员都是只看error不看warning的。
回复

使用道具 举报

ID:92556 发表于 2022-11-3 17:01 | 显示全部楼层
比如if(A==10){ B=1;  },你在程序里定义了A=1;就会出现这种错误,,

iDayOfMonth[13] = -29;,你这个数组定义的数据类型是不是有符号的??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表