Java 与 C++ 在表达式运算下的一点异同

Java 与 C++ 在表达式运算上的一点异同1. javapublic class Main{public static void main(String[] args)

Java 与 C++ 在表达式运算上的一点异同

1. java

public class Main{    public static void main(String[] args){        int a = 10, b =20;                        a = (++b) + 0*(b = 2);        System.out.println("a=" + a + ", b=" + b);  // a=21, b=2                        a = (b++) + 0*(b = 8);        System.out.println("a=" + a + ", b=" + b);  // a=2, b=8    }}

?

2. c++

#include <iostream>using namespace std;int main(int argc,char *argv[]){int a = 10, b = 20;a = (++b) + 0*(b = 2);printf("a=%i, b=%i\n", a, b);           // a=2, b=2a = (b++) + 0*(b = 8);printf("a=%i, b=%i\n", a, b);           // a=8, b=9system("pause");return 0;};

?

1 楼 dyccsxg 2010-12-25   貌似运算过程是
1. java
   从左往右 (计算变量并用具体值依次替换b)
2. c++
   从左往右 (计算变量b)
   从右往左 (用具体值依次替换掉b)