最佳答案
我想在 C 语言中打印出一个 size_t
类型的变量,但是看起来 size_t
在不同的体系结构中被别名为不同的变量类型。例如,在一台计算机(64位)上,下面的代码不抛出任何警告:
size_t size = 1;
printf("the size is %ld", size);
但在我的另一台机器(32位)上面的代码产生以下警告消息:
警告: 格式“% 1!”期望类型 ‘ long int *’,但参数3具有 “ size _ t *”
我怀疑这是由于指针大小的差异造成的,因此在我的64位机器上,size_t
别名为 long int
("%ld"
) ,而在我的32位机器上,size_t
别名为另一种类型。
是否有专门针对 size_t
的格式说明符?