【发布时间】:2020-11-28 23:32:16
【问题描述】:
我正在尝试做的简化版本:
char *phrase = "Hello World";
char *var = "phrase"
printf("%s", var)
期望的输出:
Hello World
我希望将var 的值(即“短语”)替换为变量名,这意味着它将打印phrase 的值。这甚至可能吗?
【问题讨论】:
-
我想你想要:
char *var = phrase;[没有引号] -
没有C语言不会解析字符串来查找变量。这不可能。您需要为此编写自己的解析器。
-
否则,如果您想要类似:
char *var = "phrase"; char *value = find_address_of_symbol(var); printf("%s",value);,那么,不,这是不可能可能[没有可以检查其自身可执行文件的符号表的函数]。这充其量是一种先进的技术。而且,并不总是可能的。所以,TL;DR是 no。 -
可能有宏
-
@byxor 不是。