我对 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);
}