j++与++j
(j++)+(++j)+(++j)
核心部分汇编代码
执行顺序
j原始值为5,存放在栈的ebp-4中;
q无初始值,存放在栈的ebp-8中
先执行一次j自增赋值++j ;j=6
执行第一个加法运算;值存放在CX中
CX =j+j=6+6=12;
执行第二个 ++j;j=7;
执行第二个加法运算;j=12+7=19;存放到q变量中;
最后执行j++,即j=8;
最后q输出19,j输出8
(++j)+(++j)+(++j)
核心部分汇编代码

执行顺序
j原始值为5,存放在栈的ebp-4中;
q无初始值,存放在栈的ebp-8中
先计算第一个加法两边的表达式;++j和++j
即j自增两次后j=7
然后计算第一个加法CX=7+7=14
然后计算第二个加法;执行第三个++j
j自增后j=8
然后计算第二个加法并存放到q变量中
q=14+8=22;
所以最后输出q=22;j=8
主要是两个规则:
加法自左到右运算,先执行两边的表达式或变量,再取加数
无论是j++和++j,变量始终存放在同一个地址
j++先赋值,使用,在本语句后再自增
++j是先自增赋值,在本语句中使用自增后的值
j++与++j的更多相关文章
- for循环j = j++ 和 j = ++j
package com.test.forname; public class TestForName { public static void main(String[] args) throws E ...
- 存在使i > j || i <= j不成立的数吗?
存在使i > j || i <= j不成立的数吗? 咋一看有点晕!一个数既不能大于也不能小于等于另一个数?那是什么数?答案是”非数“ 例子如下:‘ if(Double.NaN>Flo ...
- 给出一个数组A,找出一对 (i, j)使得A[i] <= A[j] (i < j)并且j-i最大
题目:给出一个数组A,找出一对 (i, j)使得A[i] <= A[j] (i <= j)并且j-i最大 ,若有多个这样的位置对,返回i最小的那一对. 最直接的想法就是对于每一个 i 从数 ...
- hdoj 2601(判断N=i*j+i+j)
Problem E Time Limit : 6000/3000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- GCD - Extreme (II) for(i=1;i<N;i++) for(j=i+1;j<=N;j++) { G+=gcd(i,j); } 推导分析+欧拉函数
/** 题目:GCD - Extreme (II) 链接:https://vjudge.net/contest/154246#problem/O 题意: for(i=1;i<N;i++) for ...
- jmeter-ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: 报错原因
转载自:https://www.cnblogs.com/zhangfeivip/p/9450403.html Jmeter 多个threadgroup 中的配置元件会一次性进行初始化 例如3个th ...
- j$(function() j$(document).ready 区别
$j(document).ready(function(){}); // 或者 $j(function(){}); 第一个是直接使用Jquery调用function,第二个是在文档加载完毕后才去调用 ...
- 【Java并发编程实战】-----“J.U.C”:Exchanger
前面介绍了三个同步辅助类:CyclicBarrier.Barrier.Phaser,这篇博客介绍最后一个:Exchanger.JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点. ...
- 关于i和j
算法课无聊随手写了段c代码,发现了个问题,就要下课了,先记一下 for(int i = 0; i < 100; i ++) for(int j = 0; j < 100000; j ++) ...
随机推荐
- 求阶乘,输入一个正整数 n,输出n!
#include<stdio.h>int factorial (int n); int main(){ int n; scanf("%d",&n); print ...
- MySQL的information_schema库
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式. 什么是元数据呢?元数据是关于数据的数据,如数据库名或表名.列的数据类型,或访问权限.有些时候用于表述该信 ...
- 更改node版本
npm install -g n n stable 或 n v4.5.0
- 【leetcode刷题笔记】Maximal Rectangle
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and ...
- HTTPS与HTTP
HTTP HyperText Transfer Protocol超文本传输协议 HTTPS HyperText Transfer Protocol over Secure Socket Layer 基 ...
- The Great Pan
The Great Pan Time Limit:1000MS Memory Limit:65536KB ...
- Smarty 的安装
1.下载Smarty包可以从官方站点下载:http://smarty.php.net/ 2.解压缩Smarty包解压后的文件夹重命名为Smarty,放置在C:\Apache2\include下 3.修 ...
- C# Stopwatch与TimeSpan详解
http://www.cnblogs.com/newstart/archive/2012/09/21/2696884.html
- Drools Expression 介绍
用好Drools 中的表达式是你的规则引擎能否强大的必要条件 http://docs.jboss.org/drools/release/6.1.0.Final/drools-docs/html_sin ...
- Storm- 使用Storm实现词频汇总
需求:读取指定目录的数据,并实现单词计数的功能 实现方案: Spout来读取指定目录的数据,作为后续Bolt处理的input 使用一个Bolt把input 的数据,切割分开,我们按照逗号进分割 使用一 ...