int main(){
int t=0;
int i=0;
char ch;
char * str="0CF00400";
while((ch=str[i])!='\0'){
if(ch>0x39)
t=t*16+(ch-0x37);
else
t=t*16+(ch-0x30);
i++;
}
printf("Hex:%x,Dec:%d",t,t);
return 0;
}
好懒,代码基本都给你了,稍微改一下就好了啊
int strToInt(char* str){
int t=0;
int i=0;
char ch;
//char * str="0CF00400";
while((ch=str[i])!='\0'){
//printf("%c\t%d\n",ch,ch>0x39?(ch-0x37):(ch-0x30));
if(ch>0x39)
t=t*16+(ch-0x37);
else
t=t*16+(ch-0x30);
i++;
}
return t;
}
int main(){
int t=0;
t=strToInt("0CF00400");
printf("Hex:%x,Dec:%d",t,t);
return 0;
}
本回答被提问者和网友采纳