【正确答案】正确答案:int re=0; while(*strOct) { re=re*8+(*strOct)-'0'; strOct++; } return re;
【答案解析】解析:(1)定义整型变量变量re,re记录求得的10进制数。 (2)convert(char*strOct)的输入参数为字符指针,而不是整形数据指针,因此需要将ASCII码转换成相应的数字量,即(*strOct)-'0'。 (3)按权展开可采用循环迭代的方法,如:(123)
8
=((1×8)+2)×8+3,即迭代过程为上一次运算得到的结果再乘以8加现在的元素值,即re=re*8+(*strOct)-'0'。