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)
