c语言中,怎么将unsigned char* a中存放的8位十六进制数,输出到一个整数int b中,

如a="123D71A9",输出为b=123D71A9

第1个回答  2018-11-03
#include<stdio.h>
void main() { unsigned char str[256],*a,c; int b; 
  a=str; scanf("%s",a); b=0;
  while ( *a ) {
    c=*a; b*=16;
    if ( c>='0' && c<='9' ) b+=c-'0'; 
    else if ( c>='a' && c<='f' ) b+=10+c-'a';
    else if ( c>='A' && c<='F' ) b+=10+c-'A';
    else break;
    a++;
  }
  printf("%X\n",b);
}

本回答被网友采纳
相似回答