关于#c语言#的问题:还不明白C语言的运算和解析

初学者,还不明白C语言的运算和解析。
希望有学者帮帮我解析一下

img

这是循环的运用。正确的结果为:
**!
*!!
(换行)
其实这挺简单的人,只要把具体的值带入进去就可以了。

下面是我的理解,供你参考:

#include <stdio.h>
int main(void){
    int i,j;
    for(i=2;i>=0;i--){  //控制内层循环执行次数以确定打印几行,及控制每一行打印星号的个数 
        for(j=1;j<=i;j++){   //确定每一行打印i个星号(因为j是从1开始到i结束,所以是i个感叹号) 
            printf("*");    //打印星号 
        }
        for(j=0;j<=2-i;j++){  //确定打印(2-i+1,因为j是从0开始记数,到2-i结束,所以有(2-i+1))个感叹号 
            printf("!");   //打印感叹号 
        }
        printf("\n");   // 换行 
    }
    
    return 0;
}