多个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 编辑 ]



 
											







 
	    

 
	