Я читаю 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 *'
.....
Есть ли способ избавиться от этих предупреждений, не тратя впустую целое число для каждого поля?
unsigned hw_addr[6]
или @Potatoswatter. - person chux - Reinstate Monica   schedule 28.01.2014