社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 1307|回复: 13

[求助] C语言问题

[复制链接]

68

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-12 09:45:58 | 显示全部楼层 |阅读模式
  1. while(1)
  2. {
  3.          if(条件1)
  4.                {
  5.                    A语句段;
  6.                 }
  7.           else if(条件2)
  8.                {
  9.                   B语句段;
  10.                }
  11. }
复制代码
如题,如果这样写的话,是否就可以实现 若满足条件1就执行A ;满足2就执行B ;若判断完条件2不满足继续判断条件1   ?
或者是想达到这种效果有没有别的写法?
谢谢~
此帖出自MSP430论坛


回复

使用道具 举报

738

TA的帖子

2

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-12 09:58:46 | 显示全部楼层
代码如下:
  1. while(1)
  2. {
  3.          if(条件1 || !条件2)
  4.          {
  5.                A语句段;
  6.           }
  7.           else if(条件2)
  8.           {
  9.                B语句段;
  10.           }
  11. }
复制代码

同学,你的C语言基础还不到位,好好看看书吧。另外你发帖的位置错了,应该在嵌入式系统的编程基础里面发帖

点评

第一眼就看到你的代码是不对的!!!!  详情 回复 发表于 2017-1-16 15:11
一看书就困星人,hhhhha  详情 回复 发表于 2017-1-12 10:02
亚里士缺德


回复

使用道具 举报

68

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-12 10:02:04 | 显示全部楼层
汤权 发表于 2017-1-12 09:58
代码如下:

同学,你的C语言基础还不到位,好好看看书吧。另外你发帖的位置错了,应该在嵌入式系统 ...

一看书就困星人,hhhhha


回复

使用道具 举报

1万

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-12 12:37:07 | 显示全部楼层
本帖最后由 ddllxxrr 于 2017-1-12 12:38 编辑

后边加else然后再判断就可以表达如果不是A也不是B,然后怎么样
http://shop34182318.taobao.com/


回复

使用道具 举报

11

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-12 14:02:55 | 显示全部楼层
本帖最后由 徕泽[ladder] 于 2017-1-12 14:05 编辑

1.这句好语法就不对是编译不了的。
2.如果想实现  : 若满足条件1就执行A ;满足2就执行B
else if 改成 if就行了

技术问题多多交流,我是电子爱好者 徕泽
技术问题讨论可以加我微信:WM13804014772(二维码头像)
                                       


回复

使用道具 举报

3357

TA的帖子

11

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2017-1-12 22:56:37 | 显示全部楼层
else if(条件2)改成 if(条件2),就可以了。否则,第一个条件的满足,就不执行第二个。好好看看基础吧。。。。


回复

使用道具 举报

54

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-16 15:11:41 | 显示全部楼层
汤权 发表于 2017-1-12 09:58
代码如下:

同学,你的C语言基础还不到位,好好看看书吧。另外你发帖的位置错了,应该在嵌入式系统 ...

第一眼就看到你的代码是不对的!!!!

点评

请赐教  详情 回复 发表于 2017-1-16 15:56
今天天气不错


回复

使用道具 举报

738

TA的帖子

2

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-16 15:56:39 | 显示全部楼层
daen_lin 发表于 2017-1-16 15:11
第一眼就看到你的代码是不对的!!!!

请赐教

点评

根据要求可得(条件1)、(条件2) 互斥;可得(!条件2)是应该包含(条件1) ; if(条件1 || !条件2) 就是 if(!条件2 ), 那你的代码就成了 while(1) { if(!条件2 ) { A  详情 回复 发表于 2017-2-10 19:51
楼主的代码就是楼主的思路,是你考虑多了。  详情 回复 发表于 2017-1-16 16:02
亚里士缺德


回复

使用道具 举报

5236

TA的帖子

82

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-16 16:02:55 | 显示全部楼层

楼主的代码就是楼主的思路,是你考虑多了。

点评

啊?我不知道发生了什么、、、、 没事 我写的代码不对的话可以不看的,只是我想的不同而已  详情 回复 发表于 2017-1-16 16:06
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
————————————————————————
少开箱,少点灯,少搭开发环境,如果你只会这些,对不起,我不认识你


回复

使用道具 举报

738

TA的帖子

2

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-16 16:06:35 | 显示全部楼层
lcofjp 发表于 2017-1-16 16:02
楼主的代码就是楼主的思路,是你考虑多了。

啊?我不知道发生了什么、、、、 没事  我写的代码不对的话可以不看的,只是我想的不同而已
亚里士缺德


回复

使用道具 举报

54

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-2-10 19:51:54 | 显示全部楼层


根据要求可得(条件1)、(条件2) 互斥;可得(!条件2)是应该包含(条件1) ;

  if(条件1 || !条件2) 就是 if(!条件2 ),
那你的代码就成了
while(1)
{
         if(!条件2 )
         {
               A语句段;
          }
          else if(条件2)
          {
               B语句段;
          }
}

点评

呵呵  详情 回复 发表于 2017-2-10 20:00
今天天气不错


回复

使用道具 举报

738

TA的帖子

2

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-10 20:00:58 | 显示全部楼层
daen_lin 发表于 2017-2-10 19:51
根据要求可得(条件1)、(条件2) 互斥;可得(!条件2)是应该包含(条件1) ;

  if(条件1 || !条件2)  ...

呵呵
亚里士缺德


回复

使用道具 举报

95

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-2-11 22:23:30 | 显示全部楼层
根据楼主的思路,这个是一个条件,如果这个条件成立,执行A,不成立,执行B。
如果是多个条件,如果条件A成立,执行条件A对应的语句,.....对号入座即可。
更多信息请关注微博:晴天reg


回复

使用道具 举报

535

TA的帖子

103

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2017-2-12 22:34:58 | 显示全部楼层
楼主这样写,需要有个前提,条件1与条件2是不是互斥条件?也就是两个条件有没有可能同时成立。
假如两个条件是互斥条件,那么你这样写,完全没有问题,可以实现你要的功能;
如果两个条件不是互斥条件,有可能同时成立,那么你这样写的话,就是说条件1的优先级高。

(“若判断完条件2不满足继续判断条件1”,这个当然是实现了。因为判完条件2后,此轮循环结束,下一轮循环开始后自然就是继续判断条件1)

如果两个条件有可能同时成立时,并且都要执行的话。那么写成两个if语句,各执行各的。


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-2-25 17:32 , Processed in 0.366991 second(s), 16 queries , Redis On.

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