Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言中Java和Python的Format属性_Java_Python_C - Fatal编程技术网

C语言中Java和Python的Format属性

C语言中Java和Python的Format属性,java,python,c,Java,Python,C,在Python中,我们可以这样使用format属性: "Today is {}/{}/{}".format(self.day, self.month, self.year) 在Java中,我们也可以这样做: MessageFormat.format("Today is {0}/{1}/{2}", this.day, this.month, this.year); C中是否有等效的格式属性?除了%d和%s之外,Python中还有格式属性。后者有一个优点,因为它不需要指定变量的类型,无论是数

在Python中,我们可以这样使用format属性:

"Today is {}/{}/{}".format(self.day, self.month, self.year) 
在Java中,我们也可以这样做:

MessageFormat.format("Today is {0}/{1}/{2}", this.day, this.month, this.year); 

C中是否有等效的格式属性?除了%d和%s之外,Python中还有格式属性。后者有一个优点,因为它不需要指定变量的类型,无论是数字、字符串还是其他什么

这不能用C语言来完成。至少不干净

Java和Python都有强大的类型。这意味着对象具有无法更改的内在类型,并且在程序执行期间,该类型是已知的。您可以将任何对象适当地转换为字符串,因为它们的类型是已知的,并且它们实现了
toString()
/
\uuu str\uuu()
方法

C、 相比之下,他的打字能力较弱。C中的类型更多的是对内存地址上的数据的解释。你可以将任何东西转换成任何其他东西。
sprintf()
函数无法知道什么是什么


< >在C++中有一些用通用语法构建字符串的方法,如果你感兴趣的话。

我不认为是因为在C.中不能从可变长度参数中检索类型信息,C中有一个等价的格式属性吗?对除了
%d
%s
之外,我不这么认为。您可以(也许)通过预处理步骤编写这样的功能。我尝试了一些不需要显式指定变量类型的功能,非常感谢。