c - 将数据转换为代码
问题描述
在 C 中,我想创建一个名为的宏TEST()
,它接受一个有效的 C 算术表达式并打印和评估它。举个例子,如果我给它TEST(5*2+3)
它会打印到控制台5*2+3 = 13
。不幸的是,我不知道如何将表达式转换为字符串,也不知道如何获取给定的字符串并将其作为代码进行评估。我该怎么做?
解决方案
您可以使用字符串化运算符将参数转换为字符串,然后展开为printf()
打印字符串和结果的调用。我的代码假定表达式始终是int
.
#define TEST(EXP) printf("%s = %d\n", #EXP, (EXP))
推荐阅读
- python - 即使安装了 python 3.9,也无法从命令提示符运行 python 程序
- xslt - XSLT Xp20 中的日期时间解析
- android - 单击按钮后从可组合函数返回一个值
- azure - 如何识别哪些密码套件在实际使用中?
- reactjs - Amcharts 4 - 切换图例项目显示隐藏的项目符号
- javascript - useContext 中的调度数据在我的所有组件中都没有更新
- php - 为什么断言跳过验证我的 symfony5 表单用户名字段?
- javascript - 电子js如何调用索引中呈现的函数
- sql - 删除 col1 和 col2 相等但相反的重复行
- c# - 无法让 EntityFramework Core 的审计工作