算法之关于【System.out.println("aaaa");//使得这里打印的结果是bbbb,而不是aaaa】
2012-01-17 16:08
387 查看
刚在CSDN论坛里看到一个帖子,题目如下(注意“使得这里打印的结果是bbbb,而不是aaaa”这句话,就是说,必须运行这句输出):
View Code
说明:只要改变字符串“aaaa”中的四个字符内存地址的值,使其等于字符“b"的内存地址的值即可。
运行效果如下:
原理如下:
View Code
using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string str = "b"; unsafe { string a = "aaaa"; fixed (char* psb = str) { fixed (char* ps1 = a) { *ps1 = *psb; *(ps1 + 1) = *psb; *(ps1 + 2) = *psb; *(ps1 + 3) = *psb; } } } Console.WriteLine("aaaa"); Console.Read(); } } }
说明:只要改变字符串“aaaa”中的四个字符内存地址的值,使其等于字符“b"的内存地址的值即可。
运行效果如下:
原理如下:
相关文章推荐
- 打印输出语句:System.out.println("内容"+i+1+"内容");与System.out.println("内容"+(i+1)+"内容");的区别
- Android中打印出System.out.println的结果的方法
- system.out.println() 的结果写入文件中,换行
- System.out.println("占个地方>>"+(++sum羞愧))
- java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
- System.out.println("占个地方>>"+(++sum羞愧))
- 使System.out.println("程序执行完毕!");这句话的内容输入到文件中
- 初窥JAVA底层————System.out.println("Hello World");
- System.out.println("")的使用
- Editplus中设置syso快捷输出{System.out.println("");}
- System.out.println("哈哈".equals(username)) 返回false
- System.out.println()与System.out.print("\n")的区别
- java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
- myeclipse出现的不能编译和console没有打印System.out.println()
- java io系列17之 System.out.println("hello world")原理
- 当使用System,out.println()打印一个对象是自动调用toString方法
- [System.out.println("");]快速唤醒指令
- 快速打出System.out.println("");
- 第2章 熟悉Eclipse开发工具---- System.out.println("sum="+(a+b));
- 将System.out.println()打印的内容输出到文件