是否可以像Python的f-strings一样在C中格式化字符串?

在 Python 中,可以使用 f-strings 方便地格式化字符串:

num = 12
print(f"num is {num}") # prints "num is 12"

有可能在 C 中做这样的事情吗?或者类似的东西?目前,要将变量添加到输出中,我正在使用此方法:

int num = 12;
printf("num is %d", num);

这是将变量添加到 C 中的打印语句的唯一方法吗?

回答

{num}")

有可能在 C 中做这样的事情吗?

不,这是不可能的。C语言是一种没有反射的编程语言。不可能通过存储在 C 中的字符串中的名称找到变量。

另一方面,Python 是一种解释性语言,它背后有一个完整的解释器实现,它跟踪所有变量名和值,并允许在解释性语言本身内查询它。因此,在使用字符串的 python 中,"num"您可以找到具有该名称的变量并查询其值。

附注。它可能与许多宏和C11_Generic功能省去由指定%d printf格式说明,更获得C到C ++ - ISHstd::cout <<函数重载-对于这一点,你可能想要探索我尝试它与YIO库。但是,为此,建议只使用 C++ 或 Rust 或其他功能更全的编程语言。


以上是是否可以像Python的f-strings一样在C中格式化字符串?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>