主题:16进制转换为10进制
#include <stdio.h>
#include <math.h>
#include <string.h>
main()
{
int zhuanhuan(char[]);
char a[7];
gets (a);
printf("%d",zhuanhuan(a));
}
int zhuanhuan(char a[])
{
long int i,c=0;
for(i=0;i<strlen(a);i++)
{
if(a[i]<='9'&&a[i]>='0')
a[i]=a[i]-'0';
else
a[i]=a[i]-87;
}
for(i=0;i<strlen(a);i++)
c=c+a[i]*pow(16,strlen(a)-1-i);
return c;
}哪错了啊为什么带0就不正确
#include <math.h>
#include <string.h>
main()
{
int zhuanhuan(char[]);
char a[7];
gets (a);
printf("%d",zhuanhuan(a));
}
int zhuanhuan(char a[])
{
long int i,c=0;
for(i=0;i<strlen(a);i++)
{
if(a[i]<='9'&&a[i]>='0')
a[i]=a[i]-'0';
else
a[i]=a[i]-87;
}
for(i=0;i<strlen(a);i++)
c=c+a[i]*pow(16,strlen(a)-1-i);
return c;
}哪错了啊为什么带0就不正确