stdin から MAC アドレス (標準の 16 進数表記、例: 00:11:22:33:44:55) を読み取り、10 進数として 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 を無駄にすることなく、これらの警告を取り除く方法はありますか?