c - 如何在 C 中将文字初始化为 size_t?
问题描述
我和这个问题有同样的问题,除了我写的是 C。
如何初始化文字数字以具有类型size_t
?
基本上,我有一个相当于这个的宏:
#define myprint(S) { printf("hello %zu", S); }
我想像这样使用它:
myprint(0);
但我收到消息:
格式“%zu”需要“size_t”类型的参数,但参数的类型为“int”
我试过写作0lu
,但它不适用于所有架构。
解决方案
没有特定于size_t
. 您需要改用演员表。
#define myprint(S) { printf("hello %zu", (size_t)S); }
考虑到它的使用方式,无论如何这是最好的方法。
推荐阅读
- mongodb - MongoDB - 集群没有自动发现
- excel - 如何为特定目的创建宏
- java - 无法从同一类中的方法访问类属性 ArrayList 的值
- if-statement - 嵌套 If 语句 SSRS 表达式
- excel - 执行这个宏需要很长时间,可以做些什么来加快它的速度?
- c# - C# / .NET 保持命名管道打开并支持任意数量的并行连接客户端
- javascript - 重定向到函数 React Router Dom 中的路由
- python - celery 上的 python 工作者 (crawler + save db) 的最佳设置
- r - 如何使用 geom_text() 标记 geom_bar(position = 'fill')
- python - 平滑拟合函数