totoxian 发表于 2013-2-1 11:32:48

汇编中一个有趣的问题

            intmain(){
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifinta=1;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifintb=2;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifintc=-1;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif}
            问题是下面哪个关系成立:
            &a>&b>&c还是&a<&b<&c?
            我们知道局部变量是存放在栈中的,a先PUSH,然后是b,最后是c。
            而栈指针SP是从高地址→低地址方向移动的,所以&a>&b>&c。
            如果void f(int a ,int b, int c){
            int a1;
            int b1;
            int c1;
            return;
            }
这里就是&a<&b<&c,因为参数是逆序进栈的。

                  
            网上有关"回车"和"换行"的一个有趣说法
            <div class="entry-body">            "回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别:
页: [1]
查看完整版本: 汇编中一个有趣的问题