怎样引用变量?

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:24:03
临时变量strtemp里有字符“xxxx”(x均是0-F的数),怎样把它作为一个十六进制数取出来,并把它转化成十进制数?

请各位大侠各抒己见阿!!!

int main()
{
int num;
char *strtemp="12AB";
sscanf(strtemp, "%x", &num);
printf("%d", num);
}
说明:
定义函数 int sscanf (const char *str,const char * format,........);
函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。
其中的%x表示strtemp中取一个十六进制数出来,然后存储在num中。
注意:
1、转换后的十进制数不能大于65535,因为int最大只能表示65535。
2、转换后的十进制数大于32767,如果用printf输出的话,会变成负数。解决方法如下:
printf("%ud", num);
即输出格式指定为%ud无符号数。