求每一步的详解,没看懂代码 谢谢
#include<iostream.h>#include<stdio.h>
int n,cnt=0;
char num[10];
void dfs(int x){
if(x/16!=0)dfs(x/16);
if((x%16)<10)num[++cnt]=x%16+'0';
else num[++cnt]=x%16-10+'A';
}
int main(){
cin>>n;
dfs(n);
for(int i=1;i<=cnt;i++)
cout<<num[i];
return 0;