- 浏览: 103921 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
无锡:
http://m.weather.com.cn/data/10 ...
中国天气网接口 返回json格式分析说明 -
wei705026811:
博主。。那个为什么我获取的时候没data:辛卯年
中国天气网接口 返回json格式分析说明 -
luguouyujian:
99 的意思是指 更之前的那个天气一样。比如Image10 ...
中国天气网接口 返回json格式分析说明 -
Ueaner:
辛苦啦~~
中国天气网接口说明及城市编码全部 为天气开发做铺垫 -
zhaiweij:
这个接口是免费的么???
中国天气网接口 返回json格式分析说明
这些最为奇怪的程序语言的特性,来自stackoverflow.com,原贴在这里。我摘选了一些例子,的确是比较怪异,让我们一个一个来看看。
1、C语言中的数组
在C/C++中,a[10] 可以写成 10[a]
“Hello World”[i] 也可以写成 i["Hello World"]
2、在Javascript中
’5′ + 3 的结果是:’53′
’5′ – 3 的结果是:2 更多javascript点击这里
3、C/C++中的Trigraphs
int main() { cout << "LOL??!"; }
上面的这段程序会输出: “LOL|”,这是因为 ??! 被转成了 | ,关于Trigraphs,下面有个表格:
??= | # |
??( | [ |
??/ | \ |
??) | ] |
??’ | ^ |
??< | { |
??! | | |
??> | } |
??- | ~ |
4、JavaScript 的条件表
看到下面这个表,不难理解为什么Javascript程序员为什么痛苦了
- '' == '0' //false
- 0 == '' //true
- 0 == '0' //true
- false == 'false' //false
- false == '0' //true
- false == undefined //false
- false == null //false
- null == undefined //true
- " \t\r\n" == 0 //true
'' == '0' //false 0 == '' //true 0 == '0' //true false == 'false' //false false == '0' //true false == undefined //false false == null //false null == undefined //true " \t\r\n" == 0 //true
5、Java的Integer cache
- Integer foo = 1000;
- Integer bar = 1000;
- foo <= bar; // true
- foo >= bar; // true
- foo == bar; // false
- //然后,如果你的 foo 和 bar 的值在 127 和 -128 之间(包括)
- //那么,其行为则改变了:
- Integer foo = 42;
- Integer bar = 42;
- foo <= bar; // true
- foo >= bar; // true
- foo == bar; // true
Integer foo = 1000; Integer bar = 1000; foo <= bar; // true foo >= bar; // true foo == bar; // false //然后,如果你的 foo 和 bar 的值在 127 和 -128 之间(包括) //那么,其行为则改变了: Integer foo = 42; Integer bar = 42; foo <= bar; // true foo >= bar; // true foo == bar; // true
为什么会这样呢?你需要了解一下Java Interger Cache,下面是相关的程序,注意其中的注释
- /**
- * Returns a <tt>Integer</tt> instance representing the specified
- * <tt>int</tt> value.
- * If a new <tt>Integer</tt> instance is not required, this method
- * should generally be used in preference to the constructor
- * <a href="mailto:{@link">{@link</a> #Integer(int)}, as this method is likely to yield
- * significantly better space and time performance by caching
- * frequently requested values.
- *
- * @param i an <code>int</code> value.
- * @return a <tt>Integer</tt> instance representing <tt>i</tt>.
- * @since 1.5
- */
- public static Integer valueOf(int i) {
- if(i >= -128 && i <= IntegerCache.high)
- return IntegerCache.cache[i + 128];
- else
- return new Integer(i);
- }
/** * Returns a <tt>Integer</tt> instance representing the specified * <tt>int</tt> value. * If a new <tt>Integer</tt> instance is not required, this method * should generally be used in preference to the constructor * <a href="mailto:{@link">{@link</a> #Integer(int)}, as this method is likely to yield * significantly better space and time performance by caching * frequently requested values. * * @param i an <code>int</code> value. * @return a <tt>Integer</tt> instance representing <tt>i</tt>. * @since 1.5 */ public static Integer valueOf(int i) { if(i >= -128 && i <= IntegerCache.high) return IntegerCache.cache[i + 128]; else return new Integer(i); }
5、Perl的那些奇怪的变量
$. $_ $_# $$ $[ @_
其所有的这些怪异的变量请参看:http://www.kichwa.com/quik_ref/spec_variables.html
6、Java的异常返回
请看下面这段程序,你觉得其返回true还是false?
try { return true; } finally { return false; }
在 javascript 和python下,其行为和Java的是一样的。
7、C语言中的Duff device
下面的这段程序你能看得懂吗?这就是所谓的Duff Device,相当的怪异。
- void duff_memcpy( char* to, char* from, size_t count ) {
- size_t n = (count+7)/8;
- switch( count%8 ) {
- case 0: do{ *to++ = *from++;
- case 7: *to++ = *from++;
- case 6: *to++ = *from++;
- case 5: *to++ = *from++;
- case 4: *to++ = *from++;
- case 3: *to++ = *from++;
- case 2: *to++ = *from++;
- case 1: *to++ = *from++;
- }while(--n>0);
- }
- }
void duff_memcpy( char* to, char* from, size_t count ) { size_t n = (count+7)/8; switch( count%8 ) { case 0: do{ *to++ = *from++; case 7: *to++ = *from++; case 6: *to++ = *from++; case 5: *to++ = *from++; case 4: *to++ = *from++; case 3: *to++ = *from++; case 2: *to++ = *from++; case 1: *to++ = *from++; }while(--n>0); } }
8、PHP中的字符串当函数用
PHP中的某些用法也是很怪异的
$x = "foo"; function foo(){ echo "wtf"; } $x();
9、在C++中,你可以使用空指针调用静态函数
class Foo { public: static void bar() { std::cout << "bar()" << std::endl; } };
呵呵。的确是挺怪异的。
发表评论
-
proxool中的maximum-active-time 转
2012-01-31 16:50 1175近日调试一个项目的时候, 总是在运行一段时间之后出现如下的警告 ... -
中国天气网接口 返回json格式分析说明
2011-10-19 15:50 13126手机天气插件更新数据 ... -
补上中国天气网城市编码抓取代码 很一般的抓取代码.....嘿嘿
2011-10-18 11:39 2724import java.io.BufferedReader; ... -
中国天气网接口说明及城市编码全部 为天气开发做铺垫
2011-10-13 17:21 8525中国天气网接口及城市编码全部 为天气开发做铺垫 中国天气网接 ... -
转:史上最强《软件工程师面试题》答案
2011-07-08 10:22 1991原文见:http://www.oschina.net/bb ... -
转:史上最强《软件工程师面试题》答案
2011-07-08 09:59 730原文见:http://www.oschina.net/bb ... -
转:史上最强《软件工程师面试题》答案
2011-07-08 09:53 770原文见:http://www.oschina.net/bb ... -
5.14日下午 jvm 调优 java社区日上的jvm调优
2011-05-20 14:31 21675.14日下午 jvm 调优 java社区日上的jvm调优, ... -
svn 与 apache 整合
2011-03-02 16:20 1506整理了一些步骤,大部 ... -
weblogic 报错 Server failed to shutdown within the configured timeout of 30 second
2010-12-09 16:27 4584weblogic 下错错误 hibernate 配置里加上这个 ... -
Android2.2—API中文文档合集
2010-11-19 15:03 1301哎 今天偶然发现了这个 就顺带着整理吧 没想到整理完才发现最后 ... -
log4j屏蔽system.out的方法 摘取
2010-04-21 17:02 2831public static void setStdoutWit ... -
Hibernate的三种连接池设置C3P0、Proxool和DBCP
2008-06-12 09:42 5851<!-- JDBC驱动程序 --> <pr ... -
c3p0 连接池配置
2008-06-12 09:31 1105<c3p0-config> <de ... -
在JSTL中使用字符串处理函数
2008-06-05 15:03 5715函数名 函数说明 ... -
spring和quartz进行定时邮件发送 (转)
2008-06-05 10:38 3439关于Spring的邮件发送的功能演示: (我把程序中一些敏感的 ... -
Spring MVC framework深入总体分析(转)
2008-06-05 10:06 875下面列举一下S ...
相关推荐
编一棋盘游戏程序,可以选择人机对战和双人对战两种游戏模式,而人机模式下可以选择三种电脑等级,即简单的电脑、中等的电脑和令人发狂的电脑,电脑智能化程度随等级提高而提高。下棋双方分别以字符X和字符O为棋子。...
一款百度贴吧推广工具。
文件为matlab中Simulink程序代码与模型,适合通信方面的童鞋下载学习,配合基本的通信教材使用。
ng-grunt-karma-starter ng-grunt-karma-starter 它是带有业力单元测试的角度应用模板。 Grunt用于开发。 运行该应用程序grunt
相当有趣的名字大战,模拟迅雷等游戏制做,有击晕,发狂等攻击。奇乐无穷。
这就是为什么我制作了这个令人发狂的模块以自动关闭连接的原因。 我在Debian上构建了这个东西,但是无法连接。 我不相信它无法连接,所以我在Windows上完成了测试。 因此,我们稍后会看到什么。 因为瞧瞧,它可以...
升级到win10后,很多更新还是特别喜欢的,但有一些更改有违以往的操作习惯,也到了让人发狂的地步,比如输入法切换,需要win+空格,特别不习惯,特别是对于it从业者更是如此,因为默认是中文输入法,大家都懂的 ...
基于卷积神经网络的星座图识别,可通过此程序直接出相关论文。适用于硕士、学士论文、毕业设计
盖茨比Lotus Starter 这是一个功能齐全的个人入门工具,我以此作为我的项目的基础,我认为这可能对我们社区中的其他人有用。 发狂,随时为改进做出贡献! [] 如果您有任何建议或错误要报告,请随时创建。特征盖茨比...
那要如何修改调试时使用的默认浏览器呢? 默认情况下,VS会使用操作系统的默认浏览器,但我在调试 ASP.NET 程序...)这种方法真的不怎么样,有时可以有时不行,简直让人发狂。。。。。 这样就OK 以后就不用纠结了。
临床教育建议往往是令人发狂的无形、刻板印象,或者坦率地说,不存在。 这些情况成功地使教师和家长瘫痪,无所作为或刺激他们变得更加焦虑。 整个学校和社区都感受到与心理学家的技能或感知到的无能相关的影响。 ...
MyBatis1. 目前最主流的持久层框架为hibernate与mybatis,而且国内目前情况使用Mybatis的公司比hibernate要多。 2. Hibernate学习门槛不低,要精通门槛更高...就算用hibernate的sqlquery,后续的维护工作也会让人发狂。
1 Mybatis第一天课堂笔记 学习过的持久层框架:DBUtils , Hibernate Mybatis就是类似于hibernate的orm持久层框架。 为什么学Mybatis?...就算用hibernate的sqlquery,后续的维护工作也会让人发狂。
这种不尽兴让他发狂,甚至少有心情幻想高潮过后的戛然而止。他怀念 Windows,怀念 Windows 上的 Foxit Reader 那种一点没有高贵疏离,但在需要时立即能够释放快感的回忆。Mac 上的 Foxit Reader,就是 Skim。
然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。 下面就是一个例子: #define __set_task_state(tsk, ...
UI Playbook致力于记录常见的UI组件,其功能,最佳实践,可访问性要求和示例。 UI Playbook WIP UI Playbook旨在记录常见的UI组件,其功能...关于某个组件应如何实施或表现的方式,尚无统一的规范,这可能会使人发狂。
阿里所困多款阿瑟掠夺扩大撒;非公开; 第三;豆腐干卡色;发狂多幅个;斯多夫嘎;锁骨呼啦所打动佛朗哥斯多夫哈
各位手机发烧友是不是在如何导通讯录发愁啊?是不是老是导不进去而发狂? 那就看看哥们这个,对你是否有帮助?!
自己动手写操作系统>>随书光盘,里面有书原代码,绝对值得发狂的东西,希望对操作系统感兴趣的同志有用.