n--究竟是什么意思

while(n--)会不会一直减下去?
还是说n--自减是减到0就停了?

到0就停

知识点:

  1. while循环中,括号里面的表达式的值为true,就执行循环体,表达式的值为false时,就跳出循环。
  2. n 的值与 n-- 的值不相等,n 的值比 n-- 的值大1
  3. 当 n 自减到 n = 0 时,表达式 n-- 的值是1,为true,执行循环体,然后n自减1,这时候n = -1,n-- = 0,再判断是否满足循环的条件,发现括号里的返回值是false,因此跳出循环。
    代码与结果展示
#include<stdio.h>

int main(){
    int n = 10;
    int m = 5;
    int x = m--;
    printf(" m 的值 = %d ,m-- 的值 = %d\n",m,x);
    while(n--){
        printf("  n 的值 = %d",n);
        printf("  **********\n");
    }
    printf(" n 的值 = %d\n",n);
    return 0;
}

img

如有帮助,请采纳,谢谢~