java - 解释为什么相同的代码不同

标签 java c

<分区>

我的代码是:

 code(){
    int x=7;
    x=x++;
    output x;   //prints 8 in C, prints 7 in Java
 }

伙计们上面的代码:在 C 中打印 87Java 中!!

为什么会这样?请解释。

最佳答案

这将在 Java 中打印 7x=x++; 等同于:

int temp = x;
x = x + 1;  
x = temp;

如果您使用 prefix 运算符,++x,结果会有所不同。

在此处亲自查看:java code ; C code .

阅读Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)理解 C 中的输出。

关于java - 解释为什么相同的代码不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17993035/

相关文章:

c - C中读取字符串数组

java - 如何在 Eclipse 上显示完整的堆栈跟踪?

java - 对数据库的更改不会保存到下次运行吗?

c++ - Windows Precision Touchpad 单击/点击事件是否通过 WM_INPUT 消息进行通信?如果没有,我如何获得它们?

c++ - xCode 和 C++ 数组。这怎么可能?在 C++ 中声明一个没有大小的数组

c - Tokyo Cabinet 在 tcbdb.h 中的 *sp = rec->vsiz; 上给出段错误;

java - Hibernate JPA 持久保存父 ID 为空的子实体

java - 将 ImageView 中的图像缩放至完整尺寸

java - 存储在数据库中的 Wicket session

c - 无法从文件中读取,并在我的程序中使用文件中的数据