在if()后面加;导致程序检查不出错误

1.问题描述:

在编译vehicle增加上下电任务时候,总是执行解析上下电msg错误,当时认为是不是字段写的有错误,当时检查好几遍,发现字段没有问题,那么为什么会执行解析错误后的代码呢,当时好郁闷,又重新检查错误,发现在

在if()后面有个“;”,当时就发现肯定是这个的问题,后来在if()后面加else()就能检查加“;”的错误,如果不加else{}分号还在if();编译器就不会报错,但是加上else{}后 编译器就会报错,后来搞清楚,“;”就是一个空语句,不管if()里面是真是假后面的大括号{}都会执行,所以导致立刻返回-1,程序解析错误。

分析:if()后加“;”,不管()里的是否为真,都会执行后面{}里的内容太,并且在没有后续else{}编译器不会报错。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值