谁可以帮我分析一下此段程序啊
void two_ten(){
char *p,s[20];
long n;
p=s;
printf("请输入一个二进制数:");
scanf("%s",p);n=0;
while(*(p)!='\0')
{
n=n*2+*p-'0';
p++;
}
printf("2进制转化为10进制:%d\n",n);
}
while(*(p)!='\0') { n=n*2+*p-'0';//////(我想你是这里看不懂是吧 这里的意思就是把二进制的数一个一个的转化成十进制的 由于二进制的数是按照字符的形式存储到数组中 所以减去字符0就得倒数字0或者数字1 ) p++; }