правильные спецификаторы формата для целых чисел точной ширины

Я немного новичок в C. Ниже приведен код, который я написал для использования целых чисел без знака. Однако при использовании scanf() я не уверен, как указать правильный формат для uint8_t.

При попытке скомпилировать код я получаю следующее предупреждение:

red_black_tree.c: 14: 2: warning: format '% я ожидает аргумент типа' int *, но аргумент 2 имеет тип 'uint8_t * [-Wformat]

Код выглядит следующим образом:

#include <stdio.h> /*printf, scanf, NULL*/
#include <stdlib.h> /*malloc, free, rand*/
#include <stdint.h> /*type support*/

int main(){

   uint8_t i, number, *A;

   printf("specify length of array:");
    scanf("%i", &i);

   A = (uint8_t *) malloc(sizeof(uint8_t)*i);

   for(number=0; number < i; number ++){
            scanf("%i", &(A[i]) );
    }

   free(A);
}
0
источник поделиться

Посмотрите другие вопросы по меткам или Задайте вопрос