读书人

一个十六进制转10进制的程序求改错解决

发布时间: 2012-05-11 12:55:37 作者: rapoo

一个十六进制转10进制的程序求改错
#include <stdio.h>
int hex2dec(char *str)
{
int m,i,k;
m=1;
for (i=0,str[i]!='\0';i++)
{
if (str[i]>='0' && str[i]<='9')
k=str[i]-'0';
else if (str[i]>='A' && str[i]<='F')
k=str[i]-'A'+10;
else if (str[i]>='a' && str[i]<='f')
k=str[i]-a+10;
else
return m;
m=16*m+k;
}
return m;
}
main()
{
char str[80];
int n;
gets(str[80]);
n=hex2dec(str);
printf("%d\n",n);
}


[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>int hex2dec(char *str){    int m,i,k;    m=0; //从0开始    for (i=0; str[i]!='\0';i++) //分号    {        if (str[i]>='0' && str[i]<='9')            k=str[i]-'0';        else if (str[i]>='A' && str[i]<='F')            k=str[i]-'A'+10;        else if (str[i]>='a' && str[i]<='f')            k=str[i]-'a'+10;   //'a'        else            return m;        m=16*m+k;    }    return m;}main(){    char str[80];    int n;    gets(str); //    n=hex2dec(str);    printf("%d\n",n);} 

读书人网 >C语言

热点推荐