找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11085|回复: 35
打印 上一主题 下一主题
收起左侧

while( --a != 0) --a !什么意思

  [复制链接]
跳转到指定楼层
楼主
ID:298708 发表于 2018-3-29 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
while( --a != 0)   --a !什么意思
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:289143 发表于 2018-3-29 19:55 | 只看该作者
--a 和 ++a 道理相同,c语言中的先加或先减
意思是:在执行这条语句前先改变a的值。
类似的
a-- 、a++ 后加、减运算
在执行完这条语句之后改变a的值。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 3#
ID:273583 发表于 2018-4-2 06:48 | 只看该作者
三层意思:

1.--a是运算符,表示a = a-1;  

2.! 是与后面=一起的,是逻辑运算符,“!=”表示不等于;

3.这里涉及先使用还是后使用的问题。--a 和 a--是有差别的,前者表示先减1,在取a的值去运算或判断,;后者是先取a的值进行运算或者判断,结束后再进行减1

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 4#
ID:300586 发表于 2018-4-2 08:08 | 只看该作者
这个就是C语言里面的优先级有关,--a的优先级大于!=的优先级,所以程序先是执行--a,自减。再来去判断是否不等于零,不等于零while()里面的条件为真,继续循环,要是等于零,条件为假,就跳出循环。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 5#
ID:286633 发表于 2018-4-2 10:36 | 只看该作者
(--a)是a自减的意思,相当于持续的a-1;然后(!=)是不等于的意思;while(--a!=0)的意思就是a进行自减,当a不等于0的时候就进行while循环,当a=0的时候就退出while循环,执行下一条语句。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:293977 发表于 2018-3-29 11:07 | 只看该作者
--a 变量a先自减1,然后判断a是否不等于(!=)0,如果a不等于0->循环 否则 ->退出循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:134228 发表于 2018-3-29 11:15 | 只看该作者
--a是一部分;(!=)是一部分,判断符;这句的意思是a自减1后是否等于0,如果不等于0,则执行while,等于0则不执行while下语句

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:284488 发表于 2018-3-29 11:18 | 只看该作者
"!="是不等于的意思,“—a”表示a先自减1
while(--a != 0)是a先自减1,然后判断是否等于0,不等进入循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:130231 发表于 2018-3-29 11:28 | 只看该作者
while( --a != 0) 就是检查判断--a不是等于0。也就是说判断--a不是等于0的时候,它就执行继续往下运行。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

10#
ID:298799 发表于 2018-3-29 11:38 | 只看该作者
--a;    while(a!=0); //这样阅读会不会好一点?减一后不等于零就继续循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:298807 发表于 2018-3-29 13:39 | 只看该作者
--a是运算符,表示a = a-1;   ! 是与后面=一起的,是逻辑运算符,表示不等于; --a 和 a--是有差别的,前者表示先减1,在取a的值去运算或判断;后者是先取a的值进行运算或者判断,结束后再进行减1

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

12#
ID:298903 发表于 2018-3-29 15:22 | 只看该作者
建议改成while(--a > 0),这样即使a出错成了负数也不会死循环。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

13#
ID:298914 发表于 2018-3-29 15:31 | 只看该作者
减循环
回复

使用道具 举报

14#
ID:298826 发表于 2018-3-29 15:57 | 只看该作者
--a 是a自减   != 这个语句是不等于的意思

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

15#
ID:298968 发表于 2018-3-29 17:08 | 只看该作者
就是变量a先经过自减操作,然后,若a的值不等于0,就执行循环的意思

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

16#
ID:299386 发表于 2018-3-30 13:13 | 只看该作者
--a是一部分

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

17#
ID:299446 发表于 2018-3-30 15:16 | 只看该作者
"!="是不等于的意思,--a 变量a先自减1,然后判断a是否不等于(!=)0,如果a不等于0->循环 否则 ->退出循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

18#
ID:299453 发表于 2018-3-30 15:27 | 只看该作者
變數a先減1 , "!=" 是不等於的意思, 減1後的變數a, 不等於0的話, 就會繼續執行

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

19#
ID:299453 发表于 2018-3-30 15:29 | 只看该作者
--a, 是指變數a先減1
"!=" 是不等於的意思

a先減1後, 若是不等於0, 就會繼續迴圈的執行

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

20#
ID:299473 发表于 2018-3-30 15:34 | 只看该作者
先判断a是否等于0 然后a再自减一

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

21#
ID:299532 发表于 2018-3-30 16:50 | 只看该作者
while(--a!=0)    a=a-1;  while(a!=0);

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

22#
ID:299537 发表于 2018-3-30 17:00 | 只看该作者
while( --a != 0) 就是检查判断--a不是等于0。也就是说判断--a不是等于0的时候,它就执行继续往下运行。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

23#
ID:299572 发表于 2018-3-30 18:09 | 只看该作者
首先"--a"是第一部分,表示先 运算(a-1) 后 再 和0对比(!=0),比如a=5,第一步先a=a-1,此时a=4,(4!=0)返回ture,则循环继续

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

24#
ID:299526 发表于 2018-3-30 21:01 | 只看该作者
这是循环语句判断,判断a是否等于0,然后在决定是否进行程序

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

25#
ID:299706 发表于 2018-3-30 22:45 | 只看该作者
可以编译成汇编,看结果

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

26#
ID:299720 发表于 2018-3-30 23:32 | 只看该作者
--a 变量a先自减1,然后判断a是否不等于(!=)0

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

27#
ID:300090 发表于 2018-3-31 20:38 | 只看该作者
--a 变量a先自减1,然后判断a是否不等于0,如果a不等于0就循环 否则  退出循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

28#
ID:300108 发表于 2018-3-31 21:37 | 只看该作者
--a != 0   不是你那么看的,要分开看,首先--a,意思是a先-1再取值,比如a在操作之前是5,那--a为4;再说 !=这个是一起的符号,叫非等于

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

29#
ID:300196 发表于 2018-4-1 07:32 | 只看该作者
"!="是不等于的意思,“—a”表示a先自减1 while(--a != 0)是a先自减1,然后判断是否等于0,不等进入循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

30#
ID:291411 发表于 2018-4-1 14:06 | 只看该作者
--a是变量a自减1,!= 是不等号,while(--a != 0)就是a先自减1判断结果是否不等于0,不等于零就一直循环,当a的数值等于0时退出循环

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

31#
ID:300513 发表于 2018-4-1 20:37 | 只看该作者
while语句简单的记为:只要当循环条件表达式为真,就执行循环体语句。在这里,循环条件为--a != 0,其中--a表示在使用a之前,先使a的值减一,也就是说判断a-1是否等与0,等于0的话就执行a=a-1。判断语句中!表示非预算。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

32#
ID:300606 发表于 2018-4-1 23:33 | 只看该作者
就是保证a==0才能通过执行
回复

使用道具 举报

33#
ID:300797 发表于 2018-4-2 13:15 | 只看该作者
--a 变量a先自减1,当--a不等于0时就退出循环,!=是不等于符号
回复

使用道具 举报

34#
ID:300820 发表于 2018-4-2 13:45 | 只看该作者
a自减与0做比较
回复

使用道具 举报

35#
ID:300906 发表于 2018-4-2 15:42 | 只看该作者
自减1 不等于0
回复

使用道具 举报

36#
ID:521686 发表于 2019-5-11 11:12 | 只看该作者
1.--a是运算符,表示a = a-1;    2.! 是与后面=一起的,是逻辑运算符,“!=”表示不等于;   3.这里涉及先使用还是后使用的问题。--a 和 a--是有差别的,前者表示先减1,在取a的值去运算或判断,;后者是先取a的值进行运算或者判断,结束后再进行减1
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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