Java和C之间关系不一致

 小仙女 发布于 2022-12-19 19:06

如果我的问题看起来很不自然,请原谅我.这是我在这里的第一个问题.

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

我的问题是

在C语言中,使用与给定数据类型不同的修饰符时,未定义C的格式化行为.

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

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

例外细节: -

线程"main"中的异常java.util.IllegalFormatConversionException:f!= java.lang.Integer

我的问题是: -

为什么Java和C之间存在差异,尽管Java是从C派生的!

请清除我的怀疑.我会感谢天才......

1 个回答
  • printfJava中,通过在C同样的方法的启发,但工程完全不同.如果你给它一个BigDecimal例子,它将打印它,即使C没有BigDecimal.

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

    定义的行为

    这与Java的使用方式一致.

    在所有操作系统平台上都能正常工作

    为什么Java和C之间存在差异,尽管Java是从C派生的

    为什么不?为什么这会有什么不同呢?

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

    2022-12-19 19:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有