这些最为奇怪的程序语言的特性,来自stackoverflow.com,原贴在这里。我摘选了一些例子,的确是比较怪异,让我们一个一个来看看。
1、C语言中的数组
在C/C++中,a[10] 可以写成 10[a]
“Hello World” 也可以写成 i["Hello World"] + i)
这样的特性是不是很怪异?如果你想知道为什么的话,你可以看看本站的这篇文章——《C语言的谜题》中的第12题。
2、在Javascript中
’5′ + 3 的结果是:’53′;
’5′ – 3 的结果是:2
3、C/C++中的Trigraphs
上面的这段程序会输出: “LOL|”,这是因为 ??! 被转成了 |
4、JavaScript 的条件表
看到下面这个表,不难理解为什么Javascript程序员为什么痛苦了——《Javascript程序员嘴最脏??》
5、Java的Integer cache
为什么会这样呢?你需要了解一下Java Interger Cache,下面是相关的程序,注意其中的注释
5、Perl的那些奇怪的变量.
其所有的这些怪异的变量请参看:http://www.kichwa.com/quik_ref/spec_variables.html
在 javascript 和python下,其行为和Java的是一样的。
7、C语言中的Duff device
下面的这段程序你能看得懂吗?这就是所谓的Duff Device,相当的怪异。
8、PHP中的字符串当函数用
PHP中的某些用法也是很怪异的
9、在C++中,你可以使用空指针调用静态函数
来源:http://coolshell.cn/?p=2053