我想在C中打印出一个类型为size_t
的变量,但似乎size_t
在不同的体系 struct 上被别名为不同的变量类型.例如,在一台机器(64位)上,以下代码不会引发任何警告:
size_t size = 1;
printf("the size is %ld", size);
但在我的另一台机器(32位)上,上述代码会生成以下警告消息:
警告:格式"%ld"需要类型
我怀疑这是由于指针大小的不同,因此在我的64位机器上,size_t
别名为long int
("%ld"
),而在我的32位机器上,size_t
别名为另一种类型.
是否有专门针对size_t
的格式说明符?