C++与java在编译器上一个不同
2009-11-20 23:50
274 查看
c++里
定义
结果是i=3,j=8;
再看看java里
结果是i=3,j=11;
分析:
对于c++编译器来说,(i++)+i*3这个式子是从右到左
读入的,先计算i*3,再加上i,最后是i自加1,所以j为8;
对于java编译器来说,(i++)+i*3这个式子是从左到右
读入的,先进来的是i,然后i再自加1为3,这样,i*3的值便为9了,最后整个值便是11了。
在C#里,(i++)+i*3为11。这样看来,在这点上,java编译器实现与C#是一样的。
定义
int i=2; int j=(i++)+i*3; cout<<i<<j<<endl;
结果是i=3,j=8;
再看看java里
int i=2; int j=(i++)+i*3; System.out.println(i); System.out.println(j);
结果是i=3,j=11;
分析:
对于c++编译器来说,(i++)+i*3这个式子是从右到左
读入的,先计算i*3,再加上i,最后是i自加1,所以j为8;
对于java编译器来说,(i++)+i*3这个式子是从左到右
读入的,先进来的是i,然后i再自加1为3,这样,i*3的值便为9了,最后整个值便是11了。
在C#里,(i++)+i*3为11。这样看来,在这点上,java编译器实现与C#是一样的。
相关文章推荐
- 求一个C++或Java或者C#写的支持C89的编译器前端,如何解析C语言的声明?
- Java和C++声明一个对象有什么不同
- 一个在不同的编译器下会有不同结果的C++程序(程序本身只有四行)
- c++和java语言特性的不同(一个c++开发者眼中的java)
- C++ 与 java 访问级别的不同
- 同一个java类由不同的classloader加载问题
- C++程序员学Java系列之三五:一个简易的Client,Server样例
- 我的一个穿越C++和JAVA的程序(流星程序集之七)
- java和c#语言上的一个不同之处
- 一个关于不同编译器对operator++和operator+=的处理方式的问题
- Objective-C就是一个C、C++和Java的杂交体
- java,同一个Runnable对象扔线程池多次和多个实例对象扔线程池有啥不同啊?
- java 与c++ 不同点
- 一个类的实例化对象所占空间的大小(对象大小= vptr(可能不止一个) + 所有非静态数据成员大小 + Aligin字节大小(依赖于不同的编译器))
- 【转】不同的编译器:GCC G++ C C++的区别
- C/C++的64位整型 不同编译器间的比较
- 为爱好舞蹈的人们做的软件,细究数据结构,操作系统,磁盘原理,用java/c/c++写一个开源 MP3助手
- C#和java,C#和C++各有什么不同(2) -- 语言规范的比较
- C/C++的64位整型 不同编译器间的比较
- 慎用++运算符,java和C++中的一个对比