相关疑难解决方法(0)

为什么这个表达式i + = i ++与Java和C不同?

我知道前缀和后缀操作...... ++ i和i ++之间的区别等等.

但我想我在这里遗漏了一些东西.您可以在下面找到代码:

package test;

public class Test
{
    public static void main (String[] args)
    {
        int i=0;

        i+=i++;
        System.out.println(i); // Prints 0

        i = i + (i++);
        System.out.println(i); // Prints 0

        i = i + (i+1);
        System.out.println(i); // Prints 1

    }
}
Run Code Online (Sandbox Code Playgroud)

所以输出是:

0
0
1
Run Code Online (Sandbox Code Playgroud)

我在C中尝试了相同的代码:

#include <stdio.h>
#include <string.h>

main()
{
    int i=0;

    i+=i++;

    printf("%d", i);   // prints 1

    i = i + (i++);
    printf("%d", i);   // prints 3

    i = i + (i+1);
    printf("%d", …
Run Code Online (Sandbox Code Playgroud)

c java

1
推荐指数
3
解决办法
1549
查看次数

标签 统计

c ×1

java ×1