gpt4 book ai didi

java - Java和C的关系不一致

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:51 25 4
gpt4 key购买 nike

如果我的问题看起来很菜鸟,请原谅我。这是我在这里的第一个问题。

我脑子里有一个简单的查询。 Java 语言已使用 CC++ 实现。

我的问题是

In C language,the formatting behaviour of C is undefined for using different modifiers than the given datatype.

int c=10;
printf("%f",c); // unspecified behaviour

而在 Java 中,如果我们使用类似的概念来使用不同的格式说明符打印数字,我们会得到一个 IllegalFormatConversionExceptoion

异常详情:-

Exception in thread "main" java.util.IllegalFormatConversionException: f != java.lang.Integer

我的问题是:-

Java 是从 C 派生出来的,为什么 Java 和 C 的区别这么大!

请解开我的疑惑。我会感谢你们这些天才...

最佳答案

Java 中的 printf 受到 C 中相同方法的启发,但工作方式完全不同。例如,如果你给它一个 BigDecimal,即使 C 没有 BigDecimal,它也会打印它。

简而言之,仅仅因为 Java 与 C 相似,并不意味着它们使用相同的底层功能。在大多数情况下,Java 有自己的实现来确保;

  • 定义的行为
  • 这与 Java 的使用方式一致。
  • 在所有操作系统平台上的工作方式相同。

Why so difference between Java and C though Java is derived from C

为什么不呢?为什么这会产生任何影响?

让我举一个不同的例子。 “制造”这个动词的字面意思是人造的,但今天它几乎意味着相反的意思。仅仅因为一种语言源自另一种语言并不意味着它们必须相同。

关于java - Java和C的关系不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com