batteryhp
#include <stdio.h>
#include <stdio.h>

int htoi(char s[]);

main()
{
     char s1[] = "10";
     char s2[] = "2D";
     char s3[] = "3f";
     char s4[] = "0X4F";
     char s5[] = "0x3a";

     printf("%s -> %d\n", s1, htoi(s1));
     printf("%s -> %d\n", s2, htoi(s2));
     printf("%s -> %d\n", s3, htoi(s3));
     printf("%s -> %d\n", s4, htoi(s4));
     printf("%s -> %d\n", s5, htoi(s5));
}
int htoi(char s[])
{
     int n = 0;
     int i = -1;

     while (s[++i] != \'\0\')
    {
          if (i == 0 && s[i] == \'0\')
               continue;
          else if (s[i] == \'x\' || s[i] == \'X\')
               continue;
          else if (\'0\'<= s[i] && s[i] <= \'9\')
               n = n * 16 + (s[i] - \'0\');
          else if (\'a\'<= s[i] && s[i] <= \'f\')
               n = n * 16 + (s[i] - \'a\' + 10);
          else if (\'A\' <= s[i] && s[i] <= \'F\')
               n = n * 16 + (s[i] - \'A\' + 10);
          else
               return -1;
     }
     return n;
}

程序转自:http://blog.csdn.net/dc_726/article/details/7032656


分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-12-23
  • 2021-12-14
  • 2021-12-14
  • 2022-12-23
  • 2021-12-14
猜你喜欢
  • 2021-12-14
  • 2021-12-14
  • 2021-12-14
  • 2021-12-14
  • 2021-12-14
  • 2021-11-26
相关资源
相似解决方案