C语言趣味题目
Wednesday, October 8th, 2008这些是我搜集到的觉得有点意思的C语言题目,都不复杂,却有些难度,有兴趣的人可以一试(有些可能也不能说难,但可能不容易想答案):
- a+++++b是合法的C表达式吗?为什么?
- 如何用宏定义实现SWAP(a,b),交换a和b的值。
- 写一个C程序,不使用分号,实现输出Hello,World这个字符串。
- 想一个算法,判断一个链表是否成环?
这些是我搜集到的觉得有点意思的C语言题目,都不复杂,却有些难度,有兴趣的人可以一试(有些可能也不能说难,但可能不容易想答案):
下雨了,秋老虎似乎可以过去了。。
今天用到一个功能,需要从Mysql表中随机选择一些行出来 ,原以为会有点复杂,没想到看了Google,只要在select后面加上order by rand()就可以了, 再加上Limit就可以限制选择的行数了,真是没想到Sql这么强大。
Select * from tbl_aaa ORDER by rand() LIMIT 10
上面的句子就是随机选择10行出来了。哦,方便!
刚看到Gmail提供了Forgotten Attachment Detection功能,也就是说如果你在发邮件时准备发一个附件,只要在邮件正文中提到的话,如果忘了带附件,点击发送时Gmail就会提醒你了。
这个功能本身实现不会太复杂,搜索邮件正文,检测是否有带附件的“语义”就可以了(而且Google正擅长此道),但是确实给人感觉蛮有创意,并且也很实用,大部分人应该有过发邮件忘带附件的经验。
只要在Gmail的Labs设置里面Enable这个功能就可以了,我简单的测试了一下,对于我们这种中文用户基本上是没有帮助的,无论在邮件里写“我带了附件”,“我发给你的文件”之内的统统不行,不被识别。但英文“I've attached...”是可以的,没想着去去试试其他语法,反正也不大会用到了 : )
谷歌中国的工程师们,该出手了...
中秋假期结束了,受台风影响,这个中秋天气很凉快,月亮就难见一次了。。。
家里用上了路由器,不过原来很简单的动态域名就变得麻烦了,因为ADSL拨号的工作变到路由器上做以后,在PC上就不知道路由器WAN口的信息了,也就是说如果ADSL掉线了,或ip地址变掉了,都不知道的。我发现的解决方法有两个:
一是在路由器上运行动态域名的客户端,比如现在的很多路由器都内置了对某些动态域名服务商的支持,直接在管理界面里设置就可以了,当然这取决于所使用的路由器。
第二个方法就复杂些了,还是在PC上运行客户端,但需要了解WAN口ip信息,有些动态域名客户端比较强悍,可以支持从路由器的SNMP或者管理Web界面中“抓取”ip信息,这样也可以达到所要的效果,这种方法就取决于客户端+路由器了,但要注意,最好还在路由器上设置自动连接,而不是按需连接,因为做服务器用的时候,连接很多时候是从外面连过来的,不能依赖机器内部的网络连接请求再连WAN口,开始的时候我就没有做这个设置,造成很多时候连不上服务器。
不知什么原因,每次重启后都能看到一个svchost.exe出错的框框,找了多个解决方法都不能见效,打这个KB921883补丁可以暂时解决,但过了一天又会出错,本来也不抱多大希望在修复上,只好重装了。(另:Windows的下载中心对每个下载有个全球受欢迎度的排名,上面这个补丁可以排到600多名,不过对这种补丁来说,受欢迎说明什么问题呢?呵呵)
还好有ghost,我的Ubuntu系统可以不受影响,重装之后,立刻就开始Update(深深知道没有Update的Windows系统在网上是多么的脆弱),可是这次又莫名其妙的在Update时总是给我一个0x800B0003错误,把我急的,MS官网对这个问题给了11种解决方案,我一看差点晕倒,麻烦的一塌糊涂,注册表,命令行,安转盘全部用上,最后一种方案居然就是重装(MS也懂得这点)。
我想想还是不要乱折腾了,去请教专业IT人士,他很确切的告诉我:“正常,很多这样的,是因为网速慢了”,我有些半信半疑,难道MS官网就那么不济,找了一个网速快的地方,果然,一切搞定。
这个SVN服务在Windows下还是很好装的,记录一下:
1. 先下载SVN服务程序安装(我下载的是1.4.6版本的)
2.安装后,要设置一个环境变量SVN_EDITOR,将它设为一个编辑器路径就可以了,我就设置到c:\winnt\notepad.exe,这个编辑器是在以后调用一些SVN命令时会用到的。
3. 现在就可以创建一个SVN仓库了,在dos命令行下运行 svnadmin create "e:\svn_repos" 这个目录不用事先存在,svn会自动创建出来的。
4. 在仓库目录下的conf子目录下,打开svnserve.conf,这就是这个仓库相关的配置文件,将其中下面几句去除注释:
[general]
anon-access = read
auth-access = write
password-db = passwd
5. 上面的设置使得匿名用户可以读和增加文件(read),而认证用户才可以修改 (write)文件,认证方法是使用password文件,这个文件也是在conf目录下,可以修改这个文件来设置所需要的用户名和密码。
6. 现在可以试试了,启动svn服务器:
svnserve --daemon --root "e:\svn_repos"
7. 上面的方式是用--daemon方式来运行svn的,会留下一个大大的dos窗口,如果你想用windows服务的方式来运行,用sc命令来将svnserve安装为windows服务(sc命令是很多windows版本自带的一条命令,如果没有的话,可以找一个xp系统从windows\system32目录下拷贝一个过来);
sc create svn binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service --root \"e:\svn_repos\"" displayname= "Subversion Repository" depend= Tcpip
注意上面的每个参数,binpath= 的等号前面没有空格,后面则一定要有一个空格(可笑的dos命令行参数就是这个样子的)
8. OK,现在可以通过 svn://your.ip 访问你的svn服务器了,别忘了告诉svn的用户去安装一个图形客户端TortoiseSVN,收工!
早上不知什么原因(也许是楼下的动听的叫卖声),醒来很早,闲不住,翻出了以前一直想练习的Cavatina,难度对我来说大了些,不管了,练的手指有些酸痛,也还控制不住那些大横按,节奏也自然有些跟不上,先听听示范:
http://www.songtaste.com/song/99981/
这么好听的曲子,不管了,拿出点奥运精神,一定把它拿下,也对得住我这次早起。。。
update(2008-09-02): 指法比较难,可以看这个视频,指法看的比较清楚。
看完精彩地男篮和拳击,我想这次奥运对我来说终于结束了,对于结果,自然是非常完美,而在我看来,更重要的是过程,这是我比较强烈的一次感受到体育精神的魅力,也许我应该把我的blog的副标题改一改来纪念这次奥运。
两个星期以来,我这个“CPU”也被Beijing2008这个高优先级进程给占据了大把的时间,其他进程-工作和生活也受到了一定的影响,该恢复IDLE了,从明天起。。。
再见,谢谢,奥林匹克。
PS:闭幕式上ym的那次拥抱可是相当的出彩,不过Sina上就变的很八卦了 ^_^
奥运就要结束了,这次奥运留给了我很多很多的回忆,除了金牌榜外,特别的下面的这些瞬间我想记录一下,可能这些才是体育吸引我的魅力:执著,坚持,超越,我很幸运的见证了这些感人的瞬间。
× 水上马拉松的冠军,曾是白血病患者,顶着因化疗而致的光头拿下了冠军。
× 韩国一名举重选手在一次试举后大腿肌肉拉伤,走路已经困难,却坚持完成所有的试举,虽然都失败了,最后一次甚至被杠铃给带倒在地。。。
× 中华台北的跆拳道选手在膝盖受伤后,被教练背下了场地,但她竟然坚持完成了后面的两场比赛,第一场还竟然获胜,并有机会争取铜牌,在最后一场比赛中,教练数次想冲入场地中止比赛被裁判拒绝(因为选手要坚持比赛),她最终坚持打到了比赛结束,但在加时赛中负于对手, 再也无力站起,又是被教练背出场地。
× 日本女垒的一个选手是在初中完成了心脏移植手术后参加了这次奥运,并最终帮助日本队击败了强大的美国队而夺冠。记下这名女垒选手的一句话:“为了那些病中的人们,为了给他们带来梦想和勇气,我一定要努力。”
× 杜丽在首金失败后的第四天拿下金牌,泪流满面的给妈妈电话:“妈,我给你拿到金镶玉的金牌了。。。”
当然还有我前面提到过的那名带上妻子照片上台领奖的德国铁汉。