Java 与 C 中++i使用的不同效果(C让人逻辑混乱啊)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Java程序:

/**

* 测试++i

*/

public class Test {

public static void main(String[] args) {

int i=3;

i=(++i)+(++i);

System.out.println("i="+i);

}

}

输出结果为

i=9

我想很多人都会同意这是正确的。接下来我们看看下面的C程序:

#include <stdio.h>

main(){

int i=3;

i=++i+(++i);

printf("i=%d",i);

}

看起来和上面的Java程序一样吧,可是结果是什么呢。呵呵,运行一下

i=10

想不通吧,可这时事实啊。

改写一下上面的程序:

#include <stdio.h>

main(){

int i=3;

i=++i+(i=i+10);

printf("i=%d",i);

}

结果为28。

呵呵,我是看不懂啦,再想下去肯定会逻辑混乱的。

不知道喜欢C的人喜不喜欢C的这个特性。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航