我算的是2,1结果是2,0 while里面判断真假,不管是否为真假,判断完都要执行里面的b--吗

#include <stdio.h>
void main ( )

int i,b,k=0 ;

for(i=1;i<=5; i++)

b=i%2;
while (b--==0) k++ ;

printf("%d,%d" ,k,b);

是的
while (b--==0)
先判断b是不是等于0 再自减,无论b是否为0,判断后都要自减
望采纳

是的,因为需要执行while (b--==0)语句才能进行判断,这时就执行b--了,不论是否为真假,都会执行b--

你的理解正确,while (b--==0) k++ ; b-- 是必定会执行的,最终是 2 ,0 ,b 在 i = 2 4 的时候, b = 0 ,k++;被执行两次,此时 b-- b = -1 。

对的