要求
编一个函数,实现八进制转换为十进制。(用指针实现)
代码
/*
* 该函数用来实现将一个八进制数转换为十进制数
* 八进制数以字符串方式存放在形参a所指向的一维字符数组中
* 请将计算得到的十进制数以函数值的方式返回
*/
int oct_to_dec(char* a)
{
int d=0;
int i;
int k=strlen(a)-1;
for(i=0;i<20;i++)
{
if(a[i]=='\0')
{
break;
}
else
{
d = d + ((a[i]-48)*pow(8,k));
k--;
}
}
return d;
}
main函数
int main()
{
char a[20];
int n;
gets(a);
n = oct_to_dec(a);
printf("%d",n);
return 0;
}
测试
测试输入
1234
输出
668