Я читаю 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 на каждое поле?