Şunlara sahibim
size_t i = 0;
uint32_t k = 0;
printf("i [ %lu ] k [ %u ]\n", i, k);
Derlerken şu uyarıyı alıyorum:
format ‘%lu’ expects type ‘long unsigned int’, but argument has type ‘uint32_t’
Bunu splint kullanarak çalıştırdığımda aşağıdakileri elde ettim:
Format argument 1 to printf (%u) expects unsigned int gets size_t: k
Herhangi bir tavsiye için çok teşekkürler,
uint32_t
gelen<stdint.h>
veya<inttypes.h>
; Bu türleri kullanmak istiyorsanız, C89'a yükseltmelisiniz. Bir uzantı olarak, GCC'nin bunları kullanmanıza izin vermesi muhtemeldir, ancak C89'un böyle bir desteği yoktu.