while(*(p)!='\0') { n=n*2+*p-'0';//////(我想你是这里看不懂是吧 这里的意思就是把二进制的数一个一个的转化成十进制的 由于二进制的数是按照字符的形式存储到数组中 所以减去字符0就得倒数字0或者数字1 ) p++; }