题目:输入一个或一组十六进制数,输出该数的十进制值。
#include <stdio.h>
int main()
{
int val;
while(scanf("%x", &val) == 1){
printf("%d\n", val);
}
return 0;
}
运行结果
输入: 0x1 2 a 0xa x2
输出:
1
2
10
10
说明
- 说明符(%x)会自动跳过前面的空白(空格,制表符,换行符都是空白)
- 该程序在遇到第一个非%x类型的字符时退出
- scanf()读到%x值时返回1,读不到返回0