我正在从标准输入读取 MAC 地址(以标准十六进制表示法,例如 00:11:22:33:44:55)并将它们转换为 6 字节变量 hw_addr 作为小数:
u8 hw_addr[6];
scanf("%2x:%2x:%2x:%2x:%2x:%2x", &hw_addr[0], &hw_addr[1], &hw_addr[2], &hw_addr[3], &hw_addr[4], &hw_addr[5]);
唯一的问题是我收到 6 个 scanf 警告:
warning: format '%2x' expects type 'unsigned int *', but argument 3 has type 'u8 *'
......
有什么方法可以在不浪费每个字段的 int 的情况下摆脱这些警告?