Weabu 发表于 2022-3-20 13:29:45

格式字符串

在小甲鱼文章中代码为这样
#include <stdio.h>

#define _Bool int

int main()
{
      printf("_Bool's length is %d\n", sizeof(_Bool));
      return 0;
}

可是我复制到vscode输出显示让我换成printf("_Bool's length is %lu\n", sizeof(_Bool));
问:这是为什么呢?格式字符串%l是什么意思

我在网上找到这个:l 和 整数转换说明符 一起使用,表示一个long int 或者unsigned long int类型的数值,
示例: %ld,%8lu

傻眼貓咪 发表于 2022-3-20 17:36:06

其实 sizeof() 函数返回类型就是无符长整型 long unsigned int,占位符 %lu,不同的编译器,不同的报错机能,一些敏感,一些无视。
页: [1]
查看完整版本: 格式字符串