搜索
bottom↓
回复: 30

if.. else..的使用

[复制链接]

出0入0汤圆

发表于 2014-10-21 17:33:10 | 显示全部楼层 |阅读模式
在同一个begin end块中连续使用几个if else 好吗?
像这样
begin
   if()
        ;
  else
        ;
  if()
        ;
  else
        ;
end
这样用好吗,有什么坏处吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-10-21 17:35:39 | 显示全部楼层
可以呀,也可尝试用switch语句吧。。。

出0入0汤圆

发表于 2014-10-21 17:39:18 | 显示全部楼层
既然是多个连续判断,用switch可能会更好。

出0入0汤圆

发表于 2014-10-21 17:49:53 | 显示全部楼层
楼上都错了..lz是 多个 if()else(); 不是if() else if() else if()...
判断的条件都不一样的话 就这样吧

出0入0汤圆

发表于 2014-10-21 17:53:32 | 显示全部楼层
LZ是用在那里的 ?

出0入17汤圆

发表于 2014-10-21 18:13:27 | 显示全部楼层
同一个always block里面两个if/else对不同的寄存器赋值是可以的,对同一个寄存器赋值是禁止的,因为编译器并不知道在同一个时钟沿到底应该判断哪个if/else

出0入0汤圆

发表于 2014-10-21 20:02:51 | 显示全部楼层
没什么问题的。。。。

出0入0汤圆

发表于 2014-10-21 21:21:42 | 显示全部楼层
同上,標準用法

出0入0汤圆

发表于 2014-10-21 23:23:32 来自手机 | 显示全部楼层
写法这东西很灵活,软件综合之后都会有自己的优化

出0入0汤圆

 楼主| 发表于 2014-10-22 08:37:40 | 显示全部楼层
michrome 发表于 2014-10-21 17:49
楼上都错了..lz是 多个 if()else(); 不是if() else if() else if()...
判断的条件都不一样的话 就这样吧 ...

恩,是的,判断的是不同的变量,这样用好吗?

出0入0汤圆

 楼主| 发表于 2014-10-22 08:38:29 | 显示全部楼层
markdif 发表于 2014-10-21 17:35
可以呀,也可尝试用switch语句吧。。。

判断的是不同的变量,不能用switch的

出0入0汤圆

 楼主| 发表于 2014-10-22 08:38:50 | 显示全部楼层
cumtgao 发表于 2014-10-21 17:39
既然是多个连续判断,用switch可能会更好。

判断的是不同的变量

出0入0汤圆

发表于 2014-10-22 09:10:26 | 显示全部楼层
怎么写都行,只要能实现功能,效率不太差,不要纠结于形式

出0入0汤圆

 楼主| 发表于 2014-10-22 09:16:52 | 显示全部楼层
比特 发表于 2014-10-22 09:10
怎么写都行,只要能实现功能,效率不太差,不要纠结于形式

好的,谢谢

出0入0汤圆

发表于 2014-10-22 09:23:02 | 显示全部楼层
这玩意没什么讲究吧

出0入0汤圆

发表于 2014-10-22 09:24:57 | 显示全部楼层
判断不同变量,完全没问题;  

注意加注释及对齐就OK了;

出0入0汤圆

 楼主| 发表于 2014-10-22 09:33:57 | 显示全部楼层
maingg 发表于 2014-10-22 09:24
判断不同变量,完全没问题;  

注意加注释及对齐就OK了;

嗯嗯,谢谢帮助

出0入0汤圆

发表于 2014-10-22 09:51:03 | 显示全部楼层
连续用IF表示的是几个不相关的条件,而else if表示的的是如果那个if条件不满足才会跳到else if里面

出0入4汤圆

发表于 2014-10-25 10:04:16 | 显示全部楼层
偶是来学习的。

出0入8汤圆

发表于 2014-10-25 10:17:08 | 显示全部楼层
我一般也这样用,不知道好不好~

出0入0汤圆

发表于 2014-10-28 10:52:00 | 显示全部楼层
没问题,其实综合出来就是几个逻辑电路,想搞多少个if else都行,只要把每个逻辑块表达清楚。

出20入186汤圆

发表于 2014-10-28 11:15:54 | 显示全部楼层
不能用这种方法用多个IF判断一个变量,

出0入0汤圆

发表于 2014-10-28 12:01:04 | 显示全部楼层
每太明白楼上的意思,按楼上说的如果有一段程序
{
  if(a==0){
    功能1;
  }
  else{
  
  }


  if(a==0){
    功能2;
  }
  else{
  
  }
}
执行结果是什么样的,顺序执行功能1和功能2,还是只有一个功能可以得到执行?

出0入0汤圆

发表于 2014-10-28 12:27:15 | 显示全部楼层
当然可以用

出0入0汤圆

发表于 2014-10-28 12:32:12 来自手机 | 显示全部楼层
没问题的,能实现功能就行

出0入0汤圆

发表于 2014-10-29 09:55:32 | 显示全部楼层
switch 代码看起来舒服点~~

出0入0汤圆

发表于 2014-12-4 09:36:25 | 显示全部楼层
没问题的,能实现功能就行,但是不是很好理解,23楼的写法比较容易理解!

出0入0汤圆

发表于 2014-12-4 10:23:28 | 显示全部楼层
有时候不方便  在条件有交集的时候  

出0入0汤圆

发表于 2014-12-6 10:33:58 | 显示全部楼层
路过 帮顶

出0入0汤圆

发表于 2014-12-6 11:41:14 来自手机 | 显示全部楼层
这样有机会编译出你不想要的结果,我遇到过。

出0入0汤圆

发表于 2014-12-6 18:56:31 | 显示全部楼层
这样有点简单问题复杂化了!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 23:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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