这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 要注意C语言中的陷阱与缺陷呀

共4条 1/1 1 跳转至

要注意C语言中的陷阱与缺陷呀

助工
2009-04-09 10:39:27     打赏
最近在研究<C语言的陷阱与缺陷>,其中说的好有道理!大家都来看下呀!

例:"悬挂"else引发的问题
if(x==0)
       if(y==0)error();
else{
      z=x+y;
     f(&z);
}
这段代码本意是判x的0和1值执行两种动作,x=0和y=0同时成立才调用error()程序;但这段代码和编者的本意相去太远了,else总和最近的if配对,程序就变成了另一种表达了!
if(x==0)
{
      if(y==0)error();
      else{
      z=x+y;
     f(&z);}
}

很有意思!这样的失误我想以后记忆会很深刻



关键词: 注意     语言     中的     陷阱     缺陷    

菜鸟
2009-04-09 11:20:08     打赏
2楼
很好,受教了!!

助工
2009-04-10 21:48:40     打赏
3楼
这个很有意思!"优先级"

if(a&b!=0)~~~~

结果呢:!=的优先级高!结果就大出意料之外了!

助工
2009-04-10 21:53:11     打赏
4楼

说说大家是怎么避免优先级问题的!本人用的是多用括号!你们呢?


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]