【问题标题】:Use a string as a variable in C?在C中使用字符串作为变量?
【发布时间】: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;DRno
  • 可能有宏
  • @byxor 不是。

标签: c variables


【解决方案1】:
char *phrase = "Hello World";
char *var = phrase ;
    printf("%s", var) ;

var now 是一个指向短语指针的指针,它是一个字符数组

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多