在C语言中while(i-->0);表示什么意思

2024-11-22 22:54:00
推荐回答(5个)
回答1:

while(i-->0)表示当 i 的值小于或等于0时,退出while循环。


具体执行过程如下:

先将i的值与0比较,如果i大于0,则i的值减1,并执行while循环体中的语句,如果i小于0,则i的值减1,但是不执行while循环体中的语句。


例子程序及解释如下:

int i=3;
while(i-->0)
{
    printf("a");
}

对于上面的程序,输出三个字符a,最后 i 的值为0

回答2:

可以这样看
int i,k;
k=i--;
while(k>0)

回答3:

相当于
while(i>0)
i--;

回答4:

相当于while(i--)
就是相当于while(i){--i;}

回答5:

像 i++, i-- 这类,首先将 i 的值与表达式运算,然后再自增或自减1,而像++i, --i 这类的先将i的值自增或自减1,然后再把改变后的值代入表达式进行运算。
所以 i-->0 的意思就是,先判断i是否大于0(大于0,表达式的值为1,否则为0,这个结果将用于while的条件),然后将 i 的值减1。while语句,如果括号内的值为0,则跳出while循环, 只要括号内的值不为0,则继续循环。