C语言while(a--),while(--a)循环次数

int a=2;
while(a--) ;
printf("%d",a);

若换成while(--a),则输出什么……

求循环过程

换成while(--a) 时,a先自减1,,再判断循环条件

第一次:a=a-1=1 a!=0条件满足继续循环
第二次:a=a-1=0 a!=0条件不满足退出循环
故最后输出:0
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-14
while(a--)的先判断a的值在计算也就是说跳出时a=0然后减一,输出为-1,而--a先计算后判断也就是说先a=a-1后判断a=0跳出,输出为0本回答被提问者和网友采纳
第2个回答  2013-09-14
a-- 先赋值 后减
--a 先减 后赋值
没换前
1
0

换成while(--a),则输出 :1
第3个回答  2013-09-14
原来输出为-1;
改为while(--a)后,由于是先自减,再判断。所以,自减到0时,结束循环。a=0.输出为0。
第4个回答  2013-09-14
做这样的题 你只要把每一次变量的变化记录下来就可以得出正确的结果。方法给你就不给你说结果。

C语言while(a--),while(--a)循环次数
while(a--)的先判断a的值在计算也就是说跳出时a=0然后减一,输出为-1,而--a先计算后判断也就是说先a=a-1后判断a=0跳出,输出为0

求高手解答单片机C语言中while(--a)和while(a--)的区别?
while(--a)等价于先将a减小1,再判断它是否为0 。 while(a--)先判断它的逻辑值是否为0,再减小1.比如a=2的话, 第一个循环1次。因为,--a=1, 第二次 --a=0,为假了。第二个循环2次。因为,先判断2 ,为真,再将a减小得1. 再判断a==1,为真,再将a减小1,再判断a==0,不循环...

求高手解答单片机C语言中while(--a)和while(a--)的区别?
while(--a)等价于先将a减小1,再判断它是否为0 。while(a--)先判断它的逻辑值是否为0,再减小1.比如a=2的话,第一个循环1次。因为,--a=1,第二次 --a=0,为假了。第二个循环2次。因为,先判断2 ,为真,再将a减小得1.再判断a==1,为真,再将a减小1,再判断a==0,不循环了。

单片机C语言中 while(a--)是什么意思 a为什么要定义得那么大 比如_百 ...
我估计,那是用来作时间间隔控制。while(--a); 是循环50000次,当a 变0时,while 结束。为何定得如此大,是因为空循环速度很快,只有循环很多次才能获得足够长的时间间隔。a=50000; while(--a);第2个 while(--a); 似乎有问题,死循环。是不是前面漏了另一个 a=50000;...

在c语言中while()语句括号里面是一个数字代表什么意思,比如while...
c语言下,while()括号里面放的是循环的条件,若是真,则循环;否则,停止。1)任何非零的整数都是为真的,所以while(1)和 while(2)和 while(3)等都是一个意思。2)若是指针的话,NULL则为假,反之则为真。3)a > b 等类似的表达式,满足为真,反之为假。

c语言,while(a--)如何理解
while(a--) 表示当a不为0时循环 执行过程为:先检查a是否为0,然后a=a-1(无论条件是否成立,这步均做)所以,当这个循环完整结束时,a=-1

c语言中if(--a)是什么意思 while(a--)是啥意思
--a 是a先自减一再判断条件,如果a=1;if(--a)相当于if(0)(a=1,--a=0)a-- 是先判断再a 自减一 如a=1 while(a--)相当于while(1) (运行该语句后a=0)

c语言中while循环有什么讲解吗?
while(n){ 语句1;语句2;语句n;} 讲解:1 while(1)是无限循环花括号里面的语句。比如:while(1){ a=b;c=d;} 这样语句a=b; c=d;,从上到下执行完后,然后又回到起始点,再从上到下执行,如此无限循环。2 while(i--)。假设i=50,每执行完花括号里面一次,i就减1,这个就是符号“-...

C语言中的while循环语句
所以继续循环。第二次while,a是-1为真,然后自加到0,再判断++b,b先自叫为2,判断得真,继续循环.重点就是第三次,此时while(a++&&++b)里面,是为while(0&&++b),因为前面先为假,&&的后面就不再判断,++b语句也就不运行。此后a自加为1,++b不运行,b依然是2.所以结果是1,2 ...

c语言的while(a--) { 。。。 }在java里怎么写。我直接写while(a...
这在C语言中其实也是不规范的写法。while的条件判定需要的是bool类型,即true\/false 此处其实利用了0即false,!0即true的默认类型转换 因此,规范的写法应该是,如果a为整型,则直接与整型数进行比较 如while( a-- != 0 )建议看一看林锐的高质量C\/C++,基础还有待扎实哦^_^ ...

相似回答