美文网首页
如何理解"b=(a++)+a"的运算过程

如何理解"b=(a++)+a"的运算过程

作者: 橘子柚子橙子_ | 来源:发表于2018-03-18 13:57 被阅读0次

刚才翻犀牛书的时候,看到一个题目:

假设 a = 1;
那么 b = (a++)+a;的结果是多少?

犀牛书上的理解过程是这样的:

  1. 计算b
  2. 计算a++,假设值为c
  3. 计算a
  4. 将c+a的结果赋值给b
    按照“++”的定义,第2步中的a++的结果依然是1,即c为1,随后a立即增1,因此在执行第3步的时候,a的值已经是2。

所以b的值为3。

那么按照上面的思路,不妨在纸上写出下面表达式的运算过程?

假设 a = 1;
那么 b = (++a)+a+(a++)+(a--)+(++a);的结果是?

相关文章

  • 如何理解"b=(a++)+a"的运算过程

    刚才翻犀牛书的时候,看到一个题目: 犀牛书上的理解过程是这样的: 计算b 计算a++,假设值为c 计算a 将c+a...

  • PHP第三节

    赋值运算 $a++; 先赋值在加加$a=0;$b=$a++;echo $b //显示0 ++$a 先加加载赋值$...

  • 第七天,位运算和函数运算

    位运算:简写参与运算的返回值:如: var a=a+b 可写为 var a+=b. a+1=a++=++a. 但a...

  • 2018-05-25

    // 算数运算符 // ++在后先赋值再加一 var a=3; var b=a++; cons...

  • 运算符+包机制+javadoc

    Java语言支持如下运算符: int b = a++; // 执行完这行代码后,先给B赋值,再自增 int c =...

  • JavaScript

    运算符 a++/b--/+=/-=/%/*=//= 转义字符 '单引号 "双引号 \反斜杠符 \n换行符 ...

  • 理解C语言中的a++、a--和++a、--a

    C语言中 a++ a-- 和 ++a --a 的区别 a++ 表示先赋值再进行加运算a-- 表示先赋值再进行减运算...

  • java 运算符

    运算符 1.1算术运算符: %:取余数。通常可用于切换,任意整数%2结果非0即1。++:b=a++;先将a值赋值给...

  • a=(a++)+(++a)-(a++)-(++a)

    1) var a=1;a=(a++)+(++a)-(a++)-(++a);a=-4分析:a=1;b=a++=2;c...

  • 2018-01-15 九九乘法表

    第四章 练习题 ···for(b=1;b<10;b++,a++){for(a=1;a<10;a++ ){c=a*b...

网友评论

      本文标题:如何理解"b=(a++)+a"的运算过程

      本文链接:https://www.haomeiwen.com/subject/zqueqftx.html