问答详情
源自:-

到底a++和++a的区别在哪?一直没看懂

a++,++a,不是算出的终值都是一样的么?

提问者:我爱电脑与体育 2015-01-27 17:54

个回答

  • _Exception
    2015-01-27 18:21:56

            int a = 5;

            int b = 5;

            System.out.println("a++ 的值 : "+ a++);// 5

            System.out.println("a 的值为  : "+a);// 6

            System.out.println("a++ 的值 : "+ a++);// 6

            System.out.println("a 的值为  : "+a);// 7

            

            

            System.out.println("++b 的值为 : "+ ++b);// 6

            System.out.println("b 的值为 : "+b);// 6

            System.out.println("++b 的值为 : "+ ++b);// 7

            System.out.println("b 的值为 : "+b);// 7



    看下变化

  • 偌颜宁
    2015-01-27 18:14:40

    最终是一样的,不过在过程当中是不一样的

    比如:

    int a = 1;
    int b = 1;
    int m,n;
    m = a++;
    printf("m = %d\n", m);
    n = ++b;
    printf("n = %d\n", n);

    以上这个小程序打印的结果是 m = 1; n = 2;为什么会出现这种情况呢,是因为a++是先赋值后运算,而++a是先运算后赋值