汇编中一个有趣的问题

news/2024/7/16 6:36:53

int main(){
     int a=1;
     int b=2;
     int c=-1;
}

问题是下面哪个关系成立:

&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,因为参数是逆序进栈的

 

网上有关"回车"和"换行"的一个有趣说法

"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别:

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符:

一个叫做“回车”,告诉打字机把打印头定位在左边界;

另一个叫做“换行”,告诉打字机把纸向下移一行。

这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

Unix系统里,每行结尾只有“ <换行> ”,即“/n”;

Windows系统里面,每行结尾是“ <换行> <回车> ”,即“/n/r”;

Mac系统里,每行结尾是“ <回车> ”。

 

一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

 

 





http://www.niftyadmin.cn/n/3648827.html

相关文章

如何在Node.js中编写异步代码

The author selected the Open Internet/Free Speech Fund to receive a donation as part of the Write for DOnations program. 作者选择了“ 开放互联网/言论自由基金会”作为“ Write for DOnations”计划的一部分来接受捐赠。 介绍 (Introduction) For many programs in …

Android Webview遇到的问题——记新版广告墙开发

前一阵很辛劳&#xff0c;所以荒废了博客。前几天终于完成了这项艰苦卓绝的工程&#xff1a;HTML5版广告墙&#xff0c;决定写篇文章&#xff0c;记录一下踩过的坑。 项目介绍 广告墙属于典型的列表式应用&#xff1a;打开后是无尽列表&#xff0c;通过滑动手指驱使列表滚动&am…

如何在Ubuntu 20.04上安装Apache Web服务器[快速入门]

介绍 (Introduction) The Apache HTTP server is the most widely-used web server in the world. It provides many powerful features, including dynamically loadable modules, robust media support, and extensive integration with other popular software. Apache HTTP…

360 DroidPlugin——插件化架构

https://github.com/Qihoo360/DroidPlugin 打开网址&#xff0c;下载源码用AS导入lib,添加依赖继承PluginApplication&#xff0c;如果不继承可以如下 Overridepublic void onCreate() {super.onCreate();PluginHelper.getInstance().applicationOnCreate(getBaseContext()); …

Android Intent应用,打开网页,安装程序,打电话,打开地图等功能

[java] view plaincopy 1.从google搜索内容 Intent intent new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent); 2.浏览网页 Uri uri Uri.parse("http:…

构建基于MVC+Observer模式的、艺术性的移动开发框架(KJAVA版)(一)

构建基于MVCObserver模式的、艺术性的移动开发框架&#xff08;KJAVA版&#xff09;Author:孙东风Date:29/11/2007做移动平台的开发不知不觉已经几年&#xff0c;先后接触过Kjava、Symbian、Windows mobile平台&#xff0c;做过游戏&#xff0c;也做过应用&#xff0c;而且以联…

android6.0权限框架搭建

举例&#xff1a;拨打号码 1.Anroid6.0运行时权限处理 findViewById(R.id.btn_callPhone).setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {//1.1首先判断有没有这个权限//context 检查权限的字符串int isPermission ContextCompat…

Android 下载APK 安装APK 打开APK

今天有了一个这样的需求 &#xff1a;下载一个apk文件&#xff0c;然后当你下载完成后&#xff0c;按钮的文字发生改变&#xff0c;变成点击安装&#xff0c;然后安装完成之后&#xff0c;变成打开。 这是下载apk的方法&#xff1a; ?123456789101112131415161718192021222324…