| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1892 人关注过本帖
标题:多个i++和++i的区别,不同的编译器有不同的结果,无意间发现的……
取消只看楼主 加入收藏
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
结帖率:91.67%
收藏
 问题点数:0 回复次数:1 
多个i++和++i的区别,不同的编译器有不同的结果,无意间发现的……
程序代码:
#include<stdio.h>
int main(){
    int i=5;
    int m,n,k;
    int p,q;
    q=(m=(i++))+(n=(i++))+(k=(i++));
    printf("m:%d n:%d k:%d i:%d q:%d",m,n,k,i,q);
    printf("\n");
    i=5;
    p=(m=++i)+(n=++i)+(k=++i);
    printf("m:%d n:%d k:%d i:%d p:%d\n",m,n,k,i,p);
    i=5;
    p=(++i)+(++i)+(++i);
    printf("m:%d n:%d k:%d i:%d p:%d",m,n,k,i,p);
    printf("\n");
    
    return;
}
//m:5 n:5 k:5 i:8 q:15
//m:6 n:7 k:8 i:8 p:21
//m:6 n:7 k:8 i:8 p:22

程序代码:

public class Main {
    public static void main(String[] args) {
        int i=5;
        int m,n,k;
        int q=(i++) + (i++) + (i++);
        i=5;
        q=(m=i++) + (n=i++) + (k=i++);
        System.out.println("m:"+m+" n:"+n+" k:"+k);
        System.out.println("q:"+q);
        System.out.println("===============");
        i=5;
        int p=(m=++i) + (n=++i) + (k=++i);
        System.out.println("m:"+m+" n:"+n+" k:"+k);
        System.out.println("p:"+p);
        System.out.println("===============");
        i=5;
        p=(++i) + (++i) + (++i);
        System.out.println("p:"+p);
    }

}
//m:5 n:6 k:7
//q:18
//===============
//m:6 n:7 k:8
//p:21
//===============
//p:21

不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。

[ 本帖最后由 秦时的明月夜 于 2015-6-2 15:24 编辑 ]
搜索更多相关主题的帖子: include 编译器 color 
2015-06-02 11:05
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
收藏
得分:0 
我知道,同一种语言下的编译器不一样结果也不一样,java 和c 还不一样的……他们处理的顺序是不一样的,就是和编译器有关系,比如  i=5,int m=i++ + i++在c里面 是先把i 的值赋值给变量m=5+5=10;i=7,java 不一样是 m=5+6=11 ;i=7;
2015-06-02 15:30
快速回复:多个i++和++i的区别,不同的编译器有不同的结果,无意间发现的……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017017 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved