问答详情
源自:3-3 自增与自减运算符

说明具体计算过程

#include <stdio.h>int main(){
  int n1 = 1;  int n2 = 2;  int r1 = n1 + n2 + ( n2 ++ );  printf("r1 = %d, n2 = %d \n", r1, n2);
  return 0;}


提问者:慕虎4930148 2017-07-19 16:19

个回答

  • 慕数据9461178
    2017-07-19 16:42:02
    已采纳

    这里就涉及到a++和++a 的区别了 ,通俗的说,a++是先取值在自增一,而++a是先自增一再取新的值。代码r1实质就是1+2+2=5,而在输出的时候,已经是加一后的新值了,祝成功

  • _酒窝没酒_
    2017-07-19 16:41:38

    输出结果为:r1=6,n2=3

    因为()的优先级高于"+"号,所以先进行括弧里面的运算,但由于n2++是先使用值再加一,所以此时(n2++)的值为2,当再次使用n2时,n2的值会变为3,所以r1=1+3+2=6。