1

我对 C 有点陌生。下面是我编写的使用无符号精确宽度整数的代码。但是,当使用 scanf() 时,我不确定如何为 uint8_t 指定正确的格式。

尝试编译代码时,我收到以下警告:

red_black_tree.c:14:2:警告:格式“%i”需要“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);
}
4

0 回答 0