这里面i--分别有什么作用?,i++分别有什么作用?ar[i]代表什么?

#include 
using namespace std;
int main(){
     int n,r;
     char ar[33];
     cout<<"input n:";
     cin>>n;
     cout<<"input r:";
     cin>>r;
     int i=0;
     while(n){
         if(n%r<=9){
         ar[i]=n%r+'0';
        i++;
        }
        else{
         ar[i]=n%r-10+'A';
         i++;
         } 
         n/=r;
     }
     i--;
     while(i>=0)
     {
         cout<

ar[i]是取字符数组的第i个字符
i++是进制转换后,将转换后的字符写入ar数组对应下标位置,通过i++改变下标位置,实现字符记录
i--是因为while循环结束时会让i多加了1,所以要减去1。i代表字符实际数量