求高手解答单片机C语言中while(--a)和while(a--)的区别?
4个回答
展开全部
1.
区别在于判断while之前减还是之后减,也就是在相同的a初始值情况下,--a会比a--少循环一次,因为当a=1的时候,第一个--a就会退出循环,第二个不会。
2.
while和for语句有区别,就是在循环体内,无论你使用两者哪个,a在进入循环体都已经发生了-1,也就是说,a相等情况下,两种进入循环后的数值相同,就是循环差了一次。
区别在于判断while之前减还是之后减,也就是在相同的a初始值情况下,--a会比a--少循环一次,因为当a=1的时候,第一个--a就会退出循环,第二个不会。
2.
while和for语句有区别,就是在循环体内,无论你使用两者哪个,a在进入循环体都已经发生了-1,也就是说,a相等情况下,两种进入循环后的数值相同,就是循环差了一次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里牵扯到的就是--a和a--的区别呢。这么说吧。假如b=--a;程序执行分两步,第一步a
=
a-1;第二步b=a;而如果是b=a--;则第一步和第二步反过来执行。假如a=8;执行b=--a后a=b=7;执行b=a--后b=8,a=7;同样执行++时也是一样的道理
=
a-1;第二步b=a;而如果是b=a--;则第一步和第二步反过来执行。假如a=8;执行b=--a后a=b=7;执行b=a--后b=8,a=7;同样执行++时也是一样的道理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我估计,那是用来作时间间隔控制。while(--a);
是循环50000次,当a
变0时,while
结束。
为何定得如此大,是因为空循环速度很快,只有循环很多次才能获得足够长的时间间隔。
a=50000;
while(--a);
第2个
while(--a);
似乎有问题,死循环。是不是前面漏了另一个
a=50000;
是循环50000次,当a
变0时,while
结束。
为何定得如此大,是因为空循环速度很快,只有循环很多次才能获得足够长的时间间隔。
a=50000;
while(--a);
第2个
while(--a);
似乎有问题,死循环。是不是前面漏了另一个
a=50000;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询