i++ 与 ++i

  1. 写出判断ABCD四个表达式的是否正确,若正确, 写出经过表达式中 a的值(3分)
    int a = 4;
    (A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
    a = ?
    答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;
    改后答案依次为9,10,10,11

 

分析:

A:相当于执行  a+=a;    a++;

B:相当于执行  a++;    a+=a;

C:修改后相当于执行      ++a;     a+= a;

    与B相同

D:相当于执行  ++a;     a+= a;     a++;

 

总结规律,++a的优先级最高,最先执行

             其次是执行普通的运算

             a++的优先级最低,最后执行。

posted @ 2012-10-25 16:37  陈朋  阅读(260)  评论(0编辑  收藏  举报