﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-</title><link>http://www.cppblog.com/dargon/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:06:17 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:06:17 GMT</pubDate><ttl>60</ttl><item><title>《职来职往》忠告</title><link>http://www.cppblog.com/dargon/archive/2012/02/11/165326.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Fri, 10 Feb 2012 18:24:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/02/11/165326.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/165326.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/02/11/165326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/165326.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/165326.html</trackback:ping><description><![CDATA[<div><ul style="list-style-type: square; list-style-position: initial; list-style-image: initial; border-left-width: 5px; border-left-style: solid; border-left-color: #e7e7e7; padding-left: 20px; color: #202020; font-family: Arial, Tahoma, Verdana, 'Lucida Sans Unicode', 'Times New Roman'; font-size: 13px; line-height: 22px; background-color: #ffffff; "><li>学历代表你的过去，财力代表现在的努力，学习能力代表将来的成就。大多数人都想要改造这个世界，但却罕有人想改造自己。无论你在好单位还是一时不得志，都请你保持学习，这是你未来立足之本。&#8212;&#8212;<strong><span style="color: #0000ff; ">申晨</span></strong></li><li>面试需要的，是一种双赢的局面；在这过程中，求职者应该更多关注的，是用人单位的买点，而非自己的卖点。&#8212;&#8212;<span style="color: #0000ff; "><strong>刘同</strong></span></li><li>企业用人的态度是：二十岁时看此人可不可教，三十岁时看此人可不可用，四十岁时看此人可不可捧。&#8212;&#8212;<span style="color: #0000ff; "><strong>杨石头</strong></span></li><li>不要把别人对你的好感当尊重，把尊重就当认同。这对于一个职场中人来说不理性，也不成熟。&#8212;&#8212;<span style="color: #0000ff; "><strong>杨石头</strong></span></li><li>对于一个学生而言，总是询问一些实际的案例经验是不公平的。在我们每年做校园招聘的时候，我需要问的，是他们的思路。只要他们思路清晰，他们就可以适合所应聘的职位。&#8212;&#8212;<span style="color: #0000ff; "><strong>郑艳</strong></span></li><li>什么都不懂又怎么样，你知道吗，白纸是最容易画出最美的蓝图的。&#8212;&#8212;<span style="color: #0000ff; "><strong>唐宁</strong></span></li><li>面试提醒：最好准备一个你崇拜的人，比较知名，有故事性，有性格特征，适时说出来。会让面试官很明白你未来的目标榜样是谁，你未来希望做成什么样，你知道从你到他的差距有多远。面试官不想听你说&#8220;我不怕&#8221;&#8220;我愿为传媒献身&#8221;&#8220;我可以为电视而死&#8221;之类的废话，因为说这些的人，大都后来都改嫁了。&#8212;&#8212;<span style="color: #0000ff; "><strong>刘同</strong></span></li><li>人生中总有些不如意，这是上天赐给我们的礼物，上天给她取名叫做&#8220;阵痛&#8221;。她重要么？当然重要，因为我们每一次成长都要一个&#8220;阵痛&#8221;，痛过之后，回头看看，自己又长大了一点。。。啊哦！&#8212;&#8212;<span style="color: #0000ff; "><strong>李响</strong></span></li></ul><p style="color: #202020; font-family: Arial, Tahoma, Verdana, 'Lucida Sans Unicode', 'Times New Roman'; font-size: 13px; line-height: 22px; background-color: #ffffff; "><span style="color: #000000; ">当然人际关系不可或缺，也可称得上是捷径和钥匙。可是，归根结底，真实的本事才是万能的！</span></p><p style="color: #202020; font-family: Arial, Tahoma, Verdana, 'Lucida Sans Unicode', 'Times New Roman'; font-size: 13px; line-height: 22px; background-color: #ffffff; "><span style="font-family: 华文新魏; font-size: medium; "><em><span style="text-decoration: underline; ">关系是泥饭碗，是会碎的；文凭是铁饭碗，是会生锈的；本事是金饭碗，是会升值的！！</span></em></span></p></div><img src ="http://www.cppblog.com/dargon/aggbug/165326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-02-11 02:24 <a href="http://www.cppblog.com/dargon/archive/2012/02/11/165326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]外语学习的真实方法及误区</title><link>http://www.cppblog.com/dargon/archive/2012/02/08/165175.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Wed, 08 Feb 2012 12:18:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/02/08/165175.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/165175.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/02/08/165175.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/165175.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/165175.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 目录前言　　1.&nbsp;对外语学习的主要误区　　2.&nbsp;造成&#8220;哑巴英语&#8221;的最主要原因　　3.&nbsp;英语环境的问题　　4.&nbsp;特殊群体　　5.&nbsp;语言关键期之争　　6.&nbsp;语言条件反射　　7. 关于记忆力　　8. 中国&#8220;英&#8221;雄　　9. 二律背反？　　10. 世纪之战　　11. &#8220;学得&#8221;-...&nbsp;&nbsp;<a href='http://www.cppblog.com/dargon/archive/2012/02/08/165175.html'>阅读全文</a><img src ="http://www.cppblog.com/dargon/aggbug/165175.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-02-08 20:18 <a href="http://www.cppblog.com/dargon/archive/2012/02/08/165175.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《壹百度》- 百度员工内部培训资料</title><link>http://www.cppblog.com/dargon/archive/2012/02/07/165120.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Tue, 07 Feb 2012 13:35:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/02/07/165120.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/165120.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/02/07/165120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/165120.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/165120.html</trackback:ping><description><![CDATA[<div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-size: medium; ">(一)立业&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">1、人一定要做自己喜欢并擅长的事</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; background-color: #ffffff; ">内心的喜好是推动事业进步的最大动力,它能帮你克服困难,坚持到底;而如果你喜欢的事情有很 多,要挑选自己最擅长做的事,这样就能在感受快乐的同时也取得超乎常人的成就。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">2、认准了,就去做;不跟风,不动摇</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">认准了,就去做讲的是判断力和行动力&#8212;&#8212;要正确地判断形势与机会,一旦看准了,就要付诸行动,患得患失只能坐失良机;不跟风,不动摇讲的是远见与定力&#8212;&#8212;能看到机会的人很多,但能坚持到底,不为眼前利益所动,不因一时困难变节的人却很少,所以多数人的成功都是昙花一现的。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">3、专注如一</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">无论是企业或个人,都应该专注于自己的领域,并坚持到底。因为人的精力是有限的,企业可利用的资源也是有限的,唯有专注如一,将所有的力量施于一点,才能超越别人,取得持久而非凡的成就。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">4、把事情做到极致</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">一家公司想要成为市场上的领导者,首先要有领导者的心态,那就是要坚信你做这件事能比所有人都做得好很多。在这种心态下,把每件事情都做到极致,你就能最终成为领导者。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-size: medium; ">(二)守正</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">5、少许诺多兑现</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">在对别人做出承诺的时候,一定要求实,讲真话,做得到再说。如果在承诺与交付的结合处画一条水平线的话,那么我们对别人做出的承诺应该低于这道线,而交付给人的结果则要高出这道线。因为做到的,永远比豪言壮语更有力量。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">6、让数据说话</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">尊重数据就是尊重客观事实,数据有时也许片面,但它却诚实而不带情绪,因此可以排除一切人为的偏好因素,也因此让我们更接近真相。所以,请记住以下三条:第一,为一个伟大创意欢呼之前,请先用数据证明其可行性和对用户的价值所在;第二,一切工作的考核,都应以量化数据为标准;第三,数据面前,人人平等。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">7、问题驱动</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">我们的每一步都应该是在解决问题的过程中前进。当一个新的idea 产生的时候,请先问一下自己,做这件事我能解决什么问题?然后,又会出现什么问题,如何解决?如果一个创意不能解决任何现实存在的问题,它就没有实现的价值。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">8、不唯上</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">一个有活力与创造力的组织,一定会鼓励一线员工坚持自己的观点并敢于直接表达&#8212;&#8212;即便这可能有悖于某些上级或权威的观点。只有这样才能让每个人的专业性与责任感真正发挥出来,避免企业犯经验主义的错误。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">9、对事不对人</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">组织内最有效率的沟通方法,莫过于实事求是、坦诚相待了。坦诚地说出否定意见,需要的不仅仅是勇气,还有一颗公正的心&#8212;&#8212;只关注事物本身的对错,而不是根据这件事是谁做的来给出不同的评判; 同时,也不要把对一件事情的评判直接引伸为对人的评价。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-size: medium; ">(三)出奇</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">10、创新求变</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">勇于创新和灵活应变,是企业持续发展、克敌制胜的原动力。然而随着企业规模的扩大和业务的成 熟,多数公司都会自然而然地倾向安于现状、保守行事。因此,如何永葆组织的创新激情与灵活求变精神,成为企业管理者的一项长期任务。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">11、允许试错</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">伟大的创新有时就存在于某些看起来不成熟的想法里,所以要鼓励员工的每一次创新,舍得给他们机会去试错。有时候明知风险很大,仍然可以让他们去做。可以小规模地尝试,如果结果不好,退回来就是了,但试错中得到的宝贵经验却可以让团队大步成长。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">12、迅速迭代,越变越美</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">在飞速发展的互联网行业里,产品是以用户为导向在随时演进的。因此,在推出一个产品之后要迅速收集用户需求进行产品的迭代&#8212;&#8212;在演进的过程中注入用户需求的基因,完成快速的升级换代裂变成长, 才能让你的用户体验保持在最高水平。不要闭门造车以图一步到位,否则你的研发速度永远也赶不上需求的变化。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">13、保持学习心态</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">在快速发展变化的时代里,如果不能够不断学习,就会被市场所淘汰。所以,企业的每一位员工,</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">都应该保持求知若渴、虚心若愚的学习心态,这是企业发展和进步的根本动力。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">14、遇到新事物,先看看别人是怎么干的</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">&#8220;拿来主义&#8221;,是学习的一条捷径。工作中遇到新事物或新的困难时,不妨先看看别人是怎么做的, 这可能少走很多弯路,比自己闭门造车效果好得多。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-size: medium; ">(四)协同</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">15、高效率执行</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">在战场上,要想取得胜利,英明的将帅和具有顽强作战能力、能够迅速准确执行命令的军队缺一不可。在时间决定成败的互联网时代,企业也是一样,任何正确的决策是否能为企业带来优势,最终还是取决于整个团队的执行效率。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">16、用流程解决共性问题</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">世界上没有一劳永逸的事,问题总是千姿百态,层出不穷,但我们永远应该做制造印钞机而非手工</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">打制铜钱的事情。遇到问题,多问几个为什么,找到根源,用系统的解决方案根除它,才可以为组织不断增强免疫力和提升工作效率。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">17、你不是孤军</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">一个高效的组织,应该讲究协同作战,作为组织中的一员,在做项目的时候,应该想到,你拥有的</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">不仅仅是自己部门的资源,身边很多其他部门的资源都可以为我所用;而在你的日常工作中,也应该随时想到,自己的工作是否可以为身边的其他同事或团队提供帮助。当组织中的每一个成员都这样做的时候, 这个组织的整体效率就会是最高的。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">18、打破部门樊篱</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">随着公司规模逐渐增大,本位主义与部门利益高于整体利益的现象也会自然而然地滋生。而这,也必将成为组织发展最大的阻碍。要想让几千人甚至几万人的公司仍然保持小公司的效率,公司各阶层的管理者们就必须不断去打破那些部门间的围墙与疆界。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">19、主动分享</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">一个人的知识与阅历再丰富,其覆盖面也总是有限的,在一个真正的团队里,每个人都应该向后来者无私地分享团队已有的知识、经验与教训,让他/她站在前人肩膀上迅速成长。如果每个人都能做到主动分享,我们在一起就不再是加法,而是乘法了,团队的效率与&#8220;智商&#8221;才会不断提高。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-size: medium; ">(五)选才</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">20、一定要找最优秀的人才</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">企业对人才的选择往往决定着这个企业能走多远,如果要做一个世界级的优秀企业,那就要力争在全世界范围内找到最优秀的人才。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">21、给最自由的空间</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">所谓管理者的职责,就是为优秀人才搭建一个自由、宽松的平台,因为人只有在自由的空间里,其创造力才能真正释放出来;也只有在独立自主地面对与解决问题的过程中,才能得到最高速的成 长。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">22、证明自己,用结果说话</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">评定一个人是否称职或是否应该被提拔的最佳方法只有一个,那就是先给他一个平台、一份责任,看他是否能拿出实实在在的工作成果来证明自己。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">23、一个人最重要的能力是判断力</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">面对快速变化的外部环境和快速发展的产业,如果能及时准确地把握产业机会,就可能规避风险并快速获得成功,这一切都取决于一个人的判断力。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">24、每个人都要捡起地上的垃圾</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">勿以善小而不为,公司里任何一处小的不完美,都是你可以动手去改善的地方,而对公司而言,如果员工都愿意把公司的每件小事当成自己不可推御的责任,那么这家公司就没有理由不成功。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">25、百度不仅是李彦宏的,更是每一个百度人的</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">一个成功的企业应该注重营造这样一种氛围,让每一个员工都觉得自己是企业的主人,将个人的事业发展融入企业目标中,与企业荣辱与共。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-size: medium; ">(六)察势</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">26、用户需求决定一切</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">如果你的技术是不被市场所需求的,那么它的价值就会很低。不要为了自己的喜好或虚荣心而开发炫 酷的产品或技术,决定一个产品好不好,一个技术是否有价值的,永远是用户,他们有需求,你就做,他们没有需求,你就不要做。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">27、听多数人的意见,和少数人商量,自己做决定</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">决策是一个先民主后集中的过程&#8212;&#8212;理越辩越明,一定要听取最广泛的意见,包括公司内外的一切专家与相关人士,然后与做这件事的核心人员商量,但最终的决定只能自己来做。是所谓谁负责,谁做主。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">28、帮助别人,成就自己</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">百度对这个社会最大的价值就是帮助人们最便捷地找到所求。这些人不仅包括我们的用户,也包括我们的客户,以及我们客户的客户。正是在不断帮助别人的过程中,百度逐渐发展壮大起来。</span>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><strong style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; font-weight: bold; ">29、公司离破产永远只有 30 天</strong>&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">无论一个公司取得多么大的成功,都别放下危机意识&#8212;&#8212;哪怕片刻。所以,请记住,最好永远把自 己当做一家胸怀远大理想的小公司。</span></div><img src ="http://www.cppblog.com/dargon/aggbug/165120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-02-07 21:35 <a href="http://www.cppblog.com/dargon/archive/2012/02/07/165120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>指针常量，常指针，指向常量的常指针</title><link>http://www.cppblog.com/dargon/archive/2012/02/04/164918.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Fri, 03 Feb 2012 17:07:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/02/04/164918.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/164918.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/02/04/164918.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/164918.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/164918.html</trackback:ping><description><![CDATA[<div><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">1.常量指针（常指针）</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">int const*p</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">特点是指针指向的数值可以改变，然而指针所保存的地址却不可以改变</span>。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">2.指针常量</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">const int*p</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">特点是指针所保存的地址可以改变，然而指针所指向的值却不可以改变</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">3.指向常量的常指针</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">const int const*p</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">特点是指针所保存的地址不可变，指针所指向的数值也不可变</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">4.空指针</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">顾名思义，就是保存地址为空的指针</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">int *p=0;&nbsp;&nbsp; //此时的指针p就是一个空指针</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">5.内存泄露</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">int *p=new int;</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">p=new int;</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">delete p;&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//用delete来释放刚刚申请的那块内存区域，注意此时指针p还是可能依旧指向的这块区域(注意可能二字)。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">这样就会有内存丢失，也就是所谓的内存泄漏。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #339966; ">因为第一行我们在堆中申请了一块int型的区域，并且用指针p指向该空间。但是紧接着我们又在堆中申请了一块int型的区域，用p指向了该空间。</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #339966; ">那么先前申请的那块区域就无法访问了，但同时这块无法访问的区域没有被删除。所以就造成了内存泄漏。</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">6.迷途指针</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">int *p=new int;&nbsp;&nbsp; //在堆中申请一块区域，用p指向这块区域</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-color: #ffff00; ">所以此时指针p的指向地址具有不确定性，故而称作迷途指针，避免的方法是将指针初始化为空指针。</span></p></div><img src ="http://www.cppblog.com/dargon/aggbug/164918.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-02-04 01:07 <a href="http://www.cppblog.com/dargon/archive/2012/02/04/164918.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常量指针和指针常量</title><link>http://www.cppblog.com/dargon/archive/2012/02/04/164917.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Fri, 03 Feb 2012 17:05:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/02/04/164917.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/164917.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/02/04/164917.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/164917.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/164917.html</trackback:ping><description><![CDATA[<div><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>一、可能的组合：</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (1)const char*p</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; (2)char const*p</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (3)char *const p<br />&nbsp; &nbsp;&nbsp; (4)const char **p</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (5)char const**p</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (6)char *const *p</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (7)char **const p</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; 当然还有在(5)、(6)、(7)中再插入一个const的若干情况，不过分析了以上7中，其他的就可类推了！</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>二、理解助记法宝：</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp;&nbsp;<strong><span style="color: #ff0000; ">1。关键看const 修饰谁。</span></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000; "><strong>2。由于没有const *的运算，若出现const*的形式，则const实际上是修饰前面的。</strong></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; 比如：char const*p,由于没有const*运算，则const实际上是修饰前面的char，因此char const*p等价于const char*p。也就是说上面7种情况中，（1）和（2）等价。 同理，（4）和（5）等价。在（6）中，由于没有const*运算，const实际上修饰的是前面的char*,但不能在定义时转换写成 const(char *)*p，因为在定义是"()"是表示函数。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>三、深入理解7种组合</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>&nbsp; &nbsp;&nbsp; (0)程序</strong>&nbsp;<strong>在执行时为其开辟的空间皆在内存（RAM）中，而RAM里的内存单元是<span style="color: #ff0000; ">可读可写</span>&nbsp;的；<span style="color: #ff0000; ">指针只是用来指定或定位要操作的数据的工具，只是用来读写RAM里内存单元的工作指针</span>&nbsp;。若对指针不加任何限定，程序中一个指针可以指向RAM中的任意位置（除了系统敏感区，如操作系统内核所在区域）并对其指向的内存单元进行读和写操作（由RAM的可读可写属性决定）；RAM里内存单元的可读可写属性不会因为对工作指针的限定而变化（见下面的第4点），而<span style="color: #ff0000; ">所有对指针的各种const限定说白了只是对该<span style="color: #0000ff; ">指针</span>&nbsp;的</span>&nbsp;<span style="color: #ff0000; "><span style="color: #0000ff; ">读写权限</span>&nbsp;（包括读写位置）进行了限定</span>&nbsp;。<br /></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (1)char *p：p是一个工作指针，可以用来对<strong><span style="color: #ff0000; ">任意位置</span>&nbsp;</strong>（非系统敏感区域）进 行<strong><span style="color: #ff0000; ">读操作和写操作</span>&nbsp;</strong>，一次读写一个字节（char占一个字节）。<br />&nbsp;&nbsp;&nbsp;&nbsp; (2)const char*p或者char const *p（因为没有const*p运算，因此const修饰的还是前面的char）：可以对任意位置（非系统敏感区域）进行<strong><span style="color: #ff0000; ">&#8220;只读&#8221;</span>&nbsp;</strong>操作。（&#8220;只读&#8221;是相对于char *p来说所限定的内容）<br />&nbsp; &nbsp;&nbsp; (3)char *const p（const 修饰的是p）：只能对<strong><span style="color: #ff0000; ">&#8220;某个固定的位置&#8221;</span>&nbsp;</strong>进 行读写操作，并且在定义p时就必须初始化（因为在后面不能执行&#8220;p=..&#8221;的操作，因此就不能在后面初始化，因此只能在定义时初始化）。（&#8220;某个固定的位 置&#8221;是相对于char *p来说所限定的内容）<br />可以总结以上3点为：char *p中的指针p通常是<strong><span style="color: #ff0000; ">&#8221;万能&#8221;的工作指针</span>&nbsp;</strong>，而（2）和（3）只是在（1）的基础上<strong><span style="color: #ff0000; ">加了些特定的限制</span>&nbsp;</strong>，这些限制在程序中并不是必须的，只是为了防止程序员的粗心大意而产生事与愿违的错 误。<br />另外，要明白<strong>&#8220;<span style="color: #ff0000; ">每块内存空间都可有名字；每块内存空间内容皆可变（除非有所限）</span>&nbsp;&#8221;</strong>&nbsp;。比如函数里定义的char s[]="hello";事实上在进程的栈内存里开辟了6个变量共6个字节的空间，其中6个字符变量的名字分别为：s1[0]、s1[1]、 s1[2]、s1[3]、s1[4]、s1[5]（内容是'/0'）</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong><span style="color: #ff0000; ">{</span></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;<span style="font-family: mceinline; "><strong>待验证</strong>&nbsp;(见后面问题3的分析)</span>&nbsp;：&nbsp;<strong><span style="color: #ff0000; ">还有一个4字节的指针变量s</span>&nbsp;</strong>。不过s是&#8220;有所限制&#8221;的，属于char *const类型，也就是前面说的&nbsp;&nbsp; (3)这种情况,s一直指向s［0］, &nbsp; &nbsp;即（*s==s[0]=='h'）,可以通过*s='k'来改变s所指向的 s[0]的值，但不能执行（char *h＝&#8220;aaa&#8221;;s=h;）来对s另外赋值。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong><span style="color: #ff0000; ">}</span></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; (4)上面的(2)和(3)只是对p进行限定，没有也不能对p所指向的空间进行限定，对于"char s[]="hello";const char*p=s;" 虽然不能通过*(p+i)='x'或者p[i]='x'来修改数组元素s[0]～s[4]的值，但可以通过*(s+i)='x'或者s[i]='x'来修改原数组元素的值－－RAM里内存单元的可读可写属性不因对工作指针的限定而改变，而只会因对其本身的限定而改变。如const char c＝&#8216;A&#8217;,c是RAM里一个内存单元（8字节）的名字，该内存单元的内容只可读，不可写。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp;&nbsp; (5)const char **p或者char const**p ：涉及两个指针p和 *p。由于const修饰char ，对指针p没有任何限定，对指针*p进行了上面情况(2)的限定。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp; (6)char *const *p：涉及两个指针p和 *p。由于const修饰前面的char*,也就是对p所指向的内容*p进行了限定(也属于前面的情况(2))。而对*p来说，由于不能通过"*p＝..."来进行另外赋值，因此属于前面的情况(3)的限定。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp; (7)char **const p ： 涉及两个指针p和 *p，const修饰p，对p进行上面情况(3)的限定，而对*p,没有任何限定。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>四、关于char **p 、const char **p的类型相容性问题</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;<strong>1。问题</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char *p1;const *p2=p1;//合法</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char **p1;const&nbsp; char**p2=p1;//不合法，会有警告warning: initialization from incompatible pointer type</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char **p1;char const**p2=p1;//不合法，会有警告warning: initialization from incompatible pointer type</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char**p1;char*const*p2=p1;//合法</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;<strong>&nbsp;2。判断规则</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 明确const修饰的对象！对于指针p1，和p2，<strong><span style="color: #ff0000; ">若要使得p2=p1成立，则可读做</span>&nbsp;</strong>：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; "><strong>&#8220;p1是指向X类型的指针，p2是指向&#8220;带有const限定&#8221;的X类型的指针</strong>&nbsp;</span><strong><span style="color: #ff0000; ">&#8220;。</span></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; char *p1;const *p2=p1;//合法:p1是指向（char）类型的指针，p2是指向&#8220;带有const限定"的(char)类型的指针。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; char **p1;const&nbsp; char**p2=p1;//不合法:p1是指向（char*）类型的指针,p2是指向 ((const char)*)类型的指针。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; char **p1;char const**p2=p1;//不合法;与上等价。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; char**p1;char*const*p2=p1;//合法:&nbsp; p1是指向（char *）类型的指针，p2是指向&#8220;带有const限定"的(char*)类型的指针。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>五、其他</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp; 1。 含有const的单层或双层指针的统一读法：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; "><strong>&#8220;p是一个指针，是一个［&#8220;带有const限定&#8221;的］指向［&#8221;带有const限定&#8221;的］X类型的指针&#8221;。</strong></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp; &nbsp; 2。定义时const修饰的对象是确定的，但不能在定义时加括号，不然就和定义时用&#8220;（）&#8221;表示的函数类型相混淆了！因此定义时不能写(char *)const *p或者(const char) **p。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>六、问题探讨（由于博文后的留言有字符数目限制，将回复移到这里）</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;<span style="color: #ff0000; "><strong>问题1</strong>&nbsp;</span>（见博文后留言）：<span style="color: #ff00ff; "><span style="border-collapse: separate; font-family: 'Times New Roman'; line-height: normal; font-size: medium; "><span style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; ">讲解非常好，不过有个问题想探讨下： 例如： const char wang[]={"wang"}; char *p; p=wang; 是错误的。 所以char *p中的P不能指向常变量。 （1）需要补充纠正。</span></span></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #ff0000; ">&nbsp;&nbsp;<strong>回复</strong>&nbsp;：</span>&nbsp;<span style="color: #0000ff; ">你好！谢谢指正！我在ubuntu 10.04（gcc 4.4.3）下做了如下测试：</span>&nbsp;<br />&nbsp;&nbsp; //test_const.c<br />&nbsp;&nbsp; #include&lt;stdio.h&gt;<br />&nbsp;&nbsp; int main()<br />&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp; const char wang[]={"wang"};<br />&nbsp;&nbsp;&nbsp;&nbsp; char *p;<br />&nbsp;&nbsp;&nbsp;&nbsp; p=wang;<br />&nbsp;&nbsp;&nbsp;&nbsp; p[2]='c';<br />&nbsp;&nbsp;&nbsp;&nbsp; printf("p is %s/n",p);<br />&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br />&nbsp; }<br /><strong>编译</strong>&nbsp;：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gcc -o test_const test_const.c<br /><strong>输出如下</strong>&nbsp;：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test_const.c: In function &#8216;main&#8217;:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test_const.c:17: warning: assignment discards qualifiers from pointer target type<br /><strong>执行：</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./test_const<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p is wacg<br /><strong>结论：</strong>&nbsp;<span style="color: #0000ff; ">根据本博文中第四点－－相容性问题，将const型的wang赋值给p是不合法的。但编译器对其的处理只是警告，因此执行时通过p修改了只读区域的数据。这应该是该编译器处理不严所致后果，不知你用的什么编译器？</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; "><span style="color: #ff0000; "><strong>&nbsp;&nbsp;&nbsp; 问题2&nbsp;&nbsp;</strong><span style="color: #ff00ff; ">回答&nbsp;</span></span></span><span style="color: #ff00ff; "><a href="http://www.linuxsir.org/bbs/showthread.php?t=239058" style="color: #ca0000; text-decoration: none; ">http://www.linuxsir.org/bbs/showthread.php?t=239058</a>&nbsp;</span><span style="color: #0000ff; "><span style="color: #ff00ff; ">提到的问题</span></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #ff00ff; ">在c语言里</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #ff00ff; ">// test.c<br />int main() {<br />&nbsp;&nbsp; const char* s1 = "test";<br />&nbsp;&nbsp; char *s2 = s1;<br />&nbsp;&nbsp; s2 = "It's modified!";<br />&nbsp;&nbsp; printf("%s/n",s1);<br />}<br />out: It's modified!;<br />这样也可以吗? 照我的理解岂不是const限定符在c语言里只是摆设一个？</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #ff0000; "><strong>&nbsp;&nbsp;&nbsp;&nbsp; 回复：</strong></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong></strong><span style="color: #0000ff; ">(1)首先，以上代码编译时会出错warning: initialization discards qualifiers from pointer target type，</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">&nbsp;&nbsp;&nbsp;&nbsp; 因为char *s2 = s1和问题1提到的一样，不符合相容规则。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; "><br /></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">(2)输出结果是正确的，代码分析如下：</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;<span style="color: #ff00ff; ">int main() {<br />&nbsp;&nbsp; const char* s1 = "test";&nbsp;&nbsp;<span style="color: #0000ff; ">//&nbsp; 在只读数据区（objdump -h test后的.rodata区）开辟5字节存储"test",并用s1指向首字符&#8216;t&#8217;。</span>&nbsp;<br />&nbsp;&nbsp; char *s2 = s1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff; ">//&nbsp; s2也指向只读数据区中&#8220;test&#8221;的首字符't'。</span>&nbsp;<br />&nbsp;&nbsp; s2 = "It's modified!";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff; ">&nbsp;//</span>&nbsp;</span><span style="color: #0000ff; ">在只读数据区开辟15字节存储"It's modified!"，并将s2由指向't'转而指向"It's modified!"的首字符'I'。</span>&nbsp;<br /><span style="color: #ff00ff; ">&nbsp;&nbsp; printf("%s/n",s1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff; ">// 从s1所指的&#8216;t&#8217;开始输出字符串"test"。</span>&nbsp;<br />}</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; "><br />(3)总结：提问者的误区在于，误以为s2 = "It's modified!"是对&#8220;test&#8221;所在区域的重新赋值，其实这里只是将&#8220;万能&#8221;工作指针s2指向另外一个新开辟的区域而已。比如若在char *s2 = s1后再执行s2[2]='a'则是对&#8220;test&#8221;的区域进行了写操作，执行时会出现段错误。但这个段错误其实与const没有关系，因为&#8220;test&#8221;这块区域本身就是只读的。为了防止理解出错，凡事对于对指针的赋值（比如</span>&nbsp;<span style="color: #ff00ff; ">s2 = "It's modified!"</span>&nbsp;<span style="color: #0000ff; ">），则将其读做：将s2指向&#8220;</span>&nbsp;<span style="color: #ff00ff; ">It's modified!</span>&nbsp;<span style="color: #0000ff; ">&#8221;所在区域的首字符。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; "><br /></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">(4)额外收获：执行gcc -o test test.c后，&#8220;test&#8221;、&#8220;It's modified!&#8221;、"%s/n"都被作为字符串常量存储在二进制文件test的只读区</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">&nbsp;&nbsp;&nbsp; 域 (.rodata)。事实上，一个程序从编译到运行，对变量空间分配的情况如下：</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">A。赋值了的全局变量或static变量=&gt;放在可执行文件的.data段。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">B。未赋值的全局变量或static变量＝&gt;放在可执行文件的.bss段。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">C。代码中出现的字符串常量或加了const的A＝&gt;放在可执行文件的.rodata段。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">D。一般的局部变量＝&gt;在可执行文件中不占空间，在该二进制文件作为进程在内存中运行时才为它分配栈空间。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">E。代码中malloc或new出的变量＝&gt;在可执行文件中不占空间，在该二进制文件作为进程在内存中运行时才为它分配堆空间。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; "><strong>&nbsp;问题3：（待进一步分析）</strong>&nbsp;</span>验证博文中 三（3）提到的是否为s分配空间，初步分析结果为：不分配！文中的s只是s［0］的地址的代号而已。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">#include&lt;stdio.h&gt;<br />int main() {<br />&nbsp;&nbsp;&nbsp; int a=3;<br />&nbsp;&nbsp;&nbsp; char s1[] = "test";<br />&nbsp;&nbsp;&nbsp; int b=4;<br />&nbsp;&nbsp;&nbsp; char s2[] ="test2";<br />&nbsp;&nbsp;&nbsp; printf("the address of a is %u/n",&amp;a);<br />&nbsp;&nbsp;&nbsp; printf("s1 is %u/n",s1);<br />&nbsp;&nbsp;&nbsp; printf("the address of s1 is %u/n",&amp;s1);<br />&nbsp;&nbsp;&nbsp; printf("the address of b is %u/n",&amp;b);<br />&nbsp;&nbsp;&nbsp; printf("s2 is %u/n",s2);<br />&nbsp;&nbsp;&nbsp; printf("the address of s2 is %u/n",&amp;s2);<br />&nbsp;&nbsp; }</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #0000ff; ">输出结果：<br /></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><span style="color: #ff00ff; ">the address of a is 3213037836<br />s1 is 3213037827<br />the address of s1 is 3213037827<br />the address of b is 3213037832<br />s2 is 3213037821<br />the address of s2 is 3213037821<br /></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff; ">由结果可以看出，编译器做了些优化。</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>&nbsp;七、其他相关经典文章转载</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;<strong>王海宁,</strong>&nbsp;<a href="http://www.embedu.org/" target="_blank" style="color: #ca0000; text-decoration: none; ">华清远见嵌入式学院</a>&nbsp;<span style="color: #666666; ">讲师，<strong>对const关键字的理解</strong></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;<a href="http://www.embedu.org/Column/Column311.htm" style="color: #ca0000; text-decoration: none; ">http://www.embedu.org/Column/Column311.htm</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; 目前在进行C语言补习时，发现很多的同学对于const这个关键字的理解存在很大的误解。现在总结下对这个关键字理解上的误区，希望在以后的编程中，能够灵活使用const这个关键字。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>1、 const修饰的变量是常量还是变量</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; 对于这个问题，很多同学认为const修饰的变量是不能改变，结果就误认为该变量变成了常量。那么对于const修饰的变量该如何理解那？</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">下面我们来看一个例子：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">int main<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char buf[4];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int a = 0;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a = 10;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp; 这个比较容易理解，编译器直接报错，原因在于&#8220;a = 10；&#8221;这句话，对const修饰的变量，后面进行赋值操作。这好像说明了const修饰的变量是不能被修改的，那究竟是不是那，那么下面我们把这个例子修改下：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">int main<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char buf[4];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int a = 0;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[4] = 97;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&#8220;the a is %d/n&#8221;,a);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">其中最后一句printf的目的是看下变量a的值是否改变，根据const的理解，如果const修饰的是变量是不能被修改的话，那么a的值一定不会改变，肯定还是0。但是在实际运行的结果中，我们发现a的值已经变为97了。这说明const修饰的变量a，已经被我们程序修改了。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">那综合这两个例子，我们来分析下，对于第二例子，修改的原因是buf[4]的赋值操作，我们知道buf[4]这个变量已经造成了buf这个数组变量的越界访问。buf数组的成员本身只有0,1,2,3，那么buf[4]访问的是谁那，根据局部变量的地址分配，可以知道buf[4]的地址和int a的地址是一样，那么buf[4]实际上就是访问了const int a；那么对buf[4]的修改，自然也修改了const int a的空间，这也是为什么我们在最后打印a的值的时候看到了97这个结果。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">那么我们现在可以知道了，const修饰的变量是不具备不允许修改的特性的，那么对于第一个例子的现象我们又如何解释那。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">第一个例子，错误是在程序编译的时候给出的，注意这里，这个时候并没有生成可执行文件，说明const修饰的变量可否修改是由编译器来帮我们保护了。而第二个例子里，变量的修改是在可执行程序执行的时候修改的，说明a还是一个变量。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">综上所述，我们可以得出一个结论，那就是const修饰的变量，其实质是告诉程序员或编译器该变量为只读，如果程序员在程序中显示的修改一个只读变量，编译器会毫不留情的给出一个error。而对于由于像数组溢出，隐式修改等程序不规范书写造成的运行过程中的修改，编译器是无能为力的，也说明const修饰的变量仍然是具备变量属性的。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><strong>2、 被const修饰的变量，会被操作系统保护，防止修改</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果对于第一个问题，有了理解的话，那么这个问题，就非常容易知道答案了。Const修饰的变量是不会被操作系统保护的。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">其原因是操作系统只保护常量，而不会保护变量的读写。那么什么是常量？比如&#8220;hello world&#8221;这个字符串就是被称为字符串常量。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">对于这个问题的另一种证明方法，可以看下面这个程序：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">int main ()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char *buf = "hello world";</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("the &amp;a is %p, the buf is %p/n",&amp;a, buf);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">可以发现buf保存的地址是在0x08048000这个地址附近的，而a的地址是在0xbf000000这个地址附近的，而0x08048000附近的地址在我们linux操作系统上是代码段。这也说明了常量和变量是存放在不同区域的，自然操作系统是会保护常量的。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">如果我们知道这个道理后，再看下面的题目：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">#include&lt;stdio.h&gt;<br />int main()<br />{<br />&nbsp;char *buf = "hello";<br />&nbsp;buf[0] = 'a';<br />&nbsp;printf("the buf is %s/n",buf);<br />}</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">我们可以思考下，这个程序的运行结果会是什么呢？</p></div><img src ="http://www.cppblog.com/dargon/aggbug/164917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-02-04 01:05 <a href="http://www.cppblog.com/dargon/archive/2012/02/04/164917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TopCoder SRM529 R1 Problem 250</title><link>http://www.cppblog.com/dargon/archive/2012/01/15/164199.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Sat, 14 Jan 2012 20:02:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/01/15/164199.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/164199.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/01/15/164199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/164199.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/164199.html</trackback:ping><description><![CDATA[<div><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; "><br />Problem statement<br />"Pairing pawns" is a game played on a strip of paper, divided into N cells. The cells are labeled 0 through N-1. Each cell may contain an arbitrary number of pawns.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; ">You are given a vector &lt;int&gt;&nbsp;<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">start</strong>&nbsp;with N elements. For each i, element i of&nbsp;<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">start</strong>&nbsp;is the initial number of pawns on cell i.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; ">The goal of the game is to bring as many pawns as possible to cell 0.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; ">The only valid move looks as follows:</p><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; ">Find a pair of pawns that share the same cell X (other than cell 0).</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; ">Remove the pair of pawns from cell X.</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; ">Add a single new pawn into the cell X-1.</li></ol><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; ">You may make as many moves as you wish, in any order.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; ">Return the maximum number of pawns that can be in cell 0 at the end of the game.</p></div><div></div><br /><div><span style="color: #545454; font-family: Tahoma; line-height: 22px; background-color: #ffffff; ">N层空间存放着马前卒，第N-1层的2个马前卒可以配对走向第N-2层，使第N-2层的马前卒数量加1，给出各层马前卒数量，求他们按照规则行进，第0层的马前卒数量</span></div><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include&lt;iostream&gt;<br />#include&lt;vector&gt;<br />#include&lt;cstdio&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">class</span>&nbsp;PairingPawns<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;savedPawnCount(vector&nbsp;&lt;<span style="color: #0000FF; ">int</span>&gt;&nbsp;start)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=start.size()-1;&nbsp;i&gt;0;&nbsp;i--)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start.at(i-1)+=start.at(i)/2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;start.at(0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />};</div><br /><br /><br /><br /><img src ="http://www.cppblog.com/dargon/aggbug/164199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-01-15 04:02 <a href="http://www.cppblog.com/dargon/archive/2012/01/15/164199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Codeforces R102 Div.2 </title><link>http://www.cppblog.com/dargon/archive/2012/01/13/164092.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Thu, 12 Jan 2012 18:05:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/01/13/164092.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/164092.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/01/13/164092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/164092.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/164092.html</trackback:ping><description><![CDATA[Problem A<br /><div><a href="http://www.codeforces.com/contest/143/problem/A">http://www.codeforces.com/contest/143/problem/A<br /><br /></a>简单的数学求和，循环解决<br /><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: normal; text-align: left; white-space: pre; background-color: #f8f8f8; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #008200; ">#include</span> <span style="color: blue; ">&lt;stdio.h&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #006699; font-weight: bold; ">int</span> main<span style="color: #666600; ">()</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">int</span> r1<span style="color: #666600; ">,</span>r2<span style="color: #666600; ">,</span>c1<span style="color: #666600; ">,</span>c2<span style="color: #666600; ">,</span>d1<span style="color: #666600; ">,</span>d2<span style="color: #666600; ">,</span>a<span style="color: #666600; ">,</span>b<span style="color: #666600; ">,</span>c<span style="color: #666600; ">,</span>d<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; scanf<span style="color: #666600; ">(</span><span style="color: blue; ">"%d %d %d %d %d %d"</span><span style="color: #666600; ">,&amp;</span>r1<span style="color: #666600; ">,&amp;</span>r2<span style="color: #666600; ">,&amp;</span>c1<span style="color: #666600; ">,&amp;</span>c2<span style="color: #666600; ">,&amp;</span>d1<span style="color: #666600; ">,&amp;</span>d2<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">for</span> <span style="color: #666600; ">(</span>a<span style="color: #666600; ">=</span>1<span style="color: #666600; ">;</span>a<span style="color: #666600; ">&lt;=</span>9<span style="color: #666600; ">;</span>a<span style="color: #666600; ">++)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b<span style="color: #666600; ">=</span>r1<span style="color: #666600; ">-</span>a<span style="color: #666600; ">;</span>c<span style="color: #666600; ">=</span>c1<span style="color: #666600; ">-</span>a<span style="color: #666600; ">;</span>d<span style="color: #666600; ">=</span>d1<span style="color: #666600; ">-</span>a<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>b<span style="color: #666600; ">+</span>d<span style="color: #666600; ">==</span>c2<span style="color: #666600; ">&amp;&amp;</span>c<span style="color: #666600; ">+</span>d<span style="color: #666600; ">==</span>r2<span style="color: #666600; ">&amp;&amp;</span>b<span style="color: #666600; ">+</span>c<span style="color: #666600; ">==</span>d2<span style="color: #666600; ">&amp;&amp;</span>a<span style="color: #666600; ">!=</span>b<span style="color: #666600; ">&amp;&amp;</span>a<span style="color: #666600; ">!=</span>c<span style="color: #666600; ">&amp;&amp;</span>a<span style="color: #666600; ">!=</span>d<span style="color: #666600; ">&amp;&amp;</span>b<span style="color: #666600; ">!=</span>c<span style="color: #666600; ">&amp;&amp;</span>b<span style="color: #666600; ">!=</span>d<span style="color: #666600; ">&amp;&amp;</span>c<span style="color: #666600; ">!=</span>d<span style="color: #666600; ">&amp;&amp;</span>b<span style="color: #666600; ">&gt;=</span>1<span style="color: #666600; ">&amp;&amp;</span>b<span style="color: #666600; ">&lt;=</span>9<span style="color: #666600; ">&amp;&amp;</span>c<span style="color: #666600; ">&gt;=</span>1<span style="color: #666600; ">&amp;&amp;</span>c<span style="color: #666600; ">&lt;=</span>9<span style="color: #666600; ">&amp;&amp;</span>d<span style="color: #666600; ">&gt;=</span>1<span style="color: #666600; ">&amp;&amp;</span>d<span style="color: #666600; ">&lt;=</span>9<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf<span style="color: #666600; ">(</span><span style="color: blue; ">"%d %d\n%d %d\n"</span><span style="color: #666600; ">,</span>a<span style="color: #666600; ">,</span>b<span style="color: #666600; ">,</span>c<span style="color: #666600; ">,</span>d<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">return</span> 0<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; printf<span style="color: #666600; ">(</span><span style="color: blue; ">"-1\n"</span><span style="color: #666600; ">);<br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006699; font-weight: bold; ">return</span> 0<span style="color: #666600; ">;</span>&nbsp;</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #666600; ">}</span></li></ol></div><br />Problem B<br /><div><a href="http://www.codeforces.com/contest/143/problem/B">http://www.codeforces.com/contest/143/problem/B<br /></a>字符串处理题，注重细节</div><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: normal; text-align: left; white-space: pre; background-color: #f8f8f8; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #008200; ">#include</span> <span style="color: blue; ">&lt;stdio.h&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #008200; ">#include</span> <span style="color: blue; ">&lt;string.h&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #006699; font-weight: bold; ">char</span> s<span style="color: #666600; ">[</span>110<span style="color: #666600; ">];</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #006699; font-weight: bold; ">int</span> main<span style="color: #666600; ">()</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">int</span> n<span style="color: #666600; ">,</span>i<span style="color: #666600; ">,</span>flag<span style="color: #666600; ">=</span>0<span style="color: #666600; ">,</span>c<span style="color: #666600; ">=</span>0<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; scanf<span style="color: #666600; ">(</span><span style="color: blue; ">"%s"</span><span style="color: #666600; ">,</span>s<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; n<span style="color: #666600; ">=</span>strlen<span style="color: #666600; ">(</span>s<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>s<span style="color: #666600; ">[</span>0<span style="color: #666600; ">]==</span><span style="color: blue; ">'-'</span><span style="color: #666600; ">){</span>flag<span style="color: #666600; ">=</span>1<span style="color: #666600; ">;</span>printf<span style="color: #666600; ">(</span><span style="color: blue; ">"("</span><span style="color: #666600; ">);}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; printf<span style="color: #666600; ">(</span><span style="color: blue; ">"$"</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">for</span> <span style="color: #666600; ">(</span>c<span style="color: #666600; ">=</span>flag<span style="color: #666600; ">;</span>c<span style="color: #666600; ">&lt;</span>n<span style="color: #666600; ">&amp;&amp;</span>s<span style="color: #666600; ">[</span>c<span style="color: #666600; ">]!=</span><span style="color: blue; ">'.'</span><span style="color: #666600; ">;</span>c<span style="color: #666600; ">++);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">for</span> <span style="color: #666600; ">(</span>i<span style="color: #666600; ">=</span>flag<span style="color: #666600; ">;</span>i<span style="color: #666600; ">&lt;</span>c<span style="color: #666600; ">;</span>i<span style="color: #666600; ">++)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>i<span style="color: #666600; ">!=</span>flag<span style="color: #666600; ">&amp;&amp;(</span>c<span style="color: #666600; ">-</span>i<span style="color: #666600; ">)%</span>3<span style="color: #666600; ">==</span>0<span style="color: #666600; ">)</span>printf<span style="color: #666600; ">(</span><span style="color: blue; ">","</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf<span style="color: #666600; ">(</span><span style="color: blue; ">"%c"</span><span style="color: #666600; ">,</span>s<span style="color: #666600; ">[</span>i<span style="color: #666600; ">]);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; printf<span style="color: #666600; ">(</span><span style="color: blue; ">"."</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>s<span style="color: #666600; ">[</span>c<span style="color: #666600; ">]==</span><span style="color: blue; ">'.'</span><span style="color: #666600; ">&amp;&amp;</span>c<span style="color: #666600; ">+</span>1<span style="color: #666600; ">&lt;</span>n<span style="color: #666600; ">)</span>printf<span style="color: #666600; ">(</span><span style="color: blue; ">"%c"</span><span style="color: #666600; ">,</span>s<span style="color: #666600; ">[</span>c<span style="color: #666600; ">+</span>1<span style="color: #666600; ">]);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">else</span> printf<span style="color: #666600; ">(</span><span style="color: blue; ">"0"</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>s<span style="color: #666600; ">[</span>c<span style="color: #666600; ">]==</span><span style="color: blue; ">'.'</span><span style="color: #666600; ">&amp;&amp;</span>c<span style="color: #666600; ">+</span>2<span style="color: #666600; ">&lt;</span>n<span style="color: #666600; ">)</span>printf<span style="color: #666600; ">(</span><span style="color: blue; ">"%c"</span><span style="color: #666600; ">,</span>s<span style="color: #666600; ">[</span>c<span style="color: #666600; ">+</span>2<span style="color: #666600; ">]);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">else</span> printf<span style="color: #666600; ">(</span><span style="color: blue; ">"0"</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>flag<span style="color: #666600; ">)</span>printf<span style="color: #666600; ">(</span><span style="color: blue; ">")"</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; printf<span style="color: #666600; ">(</span><span style="color: blue; ">"\n"</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">}</span></li></ol></div><br />Problem C&nbsp;<br /><div><div><div><a href="http://www.codeforces.com/contest/143/problem/C ">http://www.codeforces.com/contest/143/problem/C <br /></a>Dp解决<br /><br /><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: normal; text-align: left; white-space: pre; background-color: #f8f8f8; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #008200; ">#include</span> <span style="color: blue; ">&lt;iostream&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #008200; ">#include</span> <span style="color: blue; ">&lt;cmath&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #006699; font-weight: bold; ">using</span> <span style="color: #006699; font-weight: bold; ">namespace</span> std<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><font class="Apple-style-span" color="#008200"><br /><br /></font></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #006699; font-weight: bold; ">void</span> gao<span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> n<span style="color: #666600; ">,</span><span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #666600; ">&amp;</span>a<span style="color: #666600; ">,</span><span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #666600; ">&amp;</span>b<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> abs<span style="color: #666600; ">=</span>n<span style="color: #666600; ">+</span>1<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">int</span> sqn<span style="color: #666600; ">=</span>sqrt<span style="color: #666600; ">(</span>n<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">for</span><span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> i<span style="color: #666600; ">=</span>sqn<span style="color: #666600; ">;</span>i<span style="color: #666600; ">&gt;=</span>1<span style="color: #666600; ">;</span>i<span style="color: #666600; ">--)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span><span style="color: #666600; ">(</span>n<span style="color: #666600; ">%</span>i<span style="color: #666600; ">==</span>0<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a<span style="color: #666600; ">=</span>i<span style="color: #666600; ">;</span>b<span style="color: #666600; ">=</span>n<span style="color: #666600; ">/</span>i<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">break</span><span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #006699; font-weight: bold; ">int</span> main<span style="color: #666600; ">()</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> N<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; cin<span style="color: #666600; ">&gt;&gt;</span>N<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> mi<span style="color: #666600; ">,</span>ma<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; ma<span style="color: #666600; ">=(</span>N<span style="color: #666600; ">+</span>1<span style="color: #666600; ">)*</span>3LL<span style="color: #666600; ">*</span>3<span style="color: #666600; ">-</span>N<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">long</span> <span style="color: #006699; font-weight: bold; ">long</span> n1<span style="color: #666600; ">=</span>N<span style="color: #666600; ">,</span>n2<span style="color: #666600; ">=</span>1<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">int</span> up<span style="color: #666600; ">=</span>sqrt<span style="color: #666600; ">(</span>N<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">for</span><span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">int</span> i<span style="color: #666600; ">=</span>up<span style="color: #666600; ">;</span>i<span style="color: #666600; ">&gt;=</span>1<span style="color: #666600; ">;</span>i<span style="color: #666600; ">--)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span><span style="color: #666600; ">(</span>N<span style="color: #666600; ">%</span>i<span style="color: #666600; ">==</span>0<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gao<span style="color: #666600; ">(</span>N<span style="color: #666600; ">/</span>i<span style="color: #666600; ">,</span>n1<span style="color: #666600; ">,</span>n2<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span><span style="color: #666600; ">(</span>mi<span style="color: #666600; ">&gt;(</span>i<span style="color: #666600; ">+</span>1<span style="color: #666600; ">)*(</span>n1<span style="color: #666600; ">+</span>2<span style="color: #666600; ">)*(</span>n2<span style="color: #666600; ">+</span>2<span style="color: #666600; ">)-</span>N<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mi<span style="color: #666600; ">=(</span>i<span style="color: #666600; ">+</span>1<span style="color: #666600; ">)*(</span>n1<span style="color: #666600; ">+</span>2<span style="color: #666600; ">)*(</span>n2<span style="color: #666600; ">+</span>2<span style="color: #666600; ">)-</span>N<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666600; ">}</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; &nbsp; &nbsp; cout<span style="color: #666600; ">&lt;&lt;</span>mi<span style="color: #666600; ">&lt;&lt;</span><span style="color: blue; ">" "</span><span style="color: #666600; ">&lt;&lt;</span>ma<span style="color: #666600; ">&lt;&lt;</span>endl<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">return</span> 0<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">}</span></li></ol></div></div></div></div></div><img src ="http://www.cppblog.com/dargon/aggbug/164092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-01-13 02:05 <a href="http://www.cppblog.com/dargon/archive/2012/01/13/164092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些开源网站</title><link>http://www.cppblog.com/dargon/archive/2012/01/11/163997.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Wed, 11 Jan 2012 08:10:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/01/11/163997.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/163997.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/01/11/163997.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/163997.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/163997.html</trackback:ping><description><![CDATA[<div><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://code.ijinshan.com/" style="color: #366900; text-decoration: none; ">http://code.ijinshan.com/</a>&nbsp;<br /><a href="http://search.csdn.net/" style="color: #366900; text-decoration: none; ">http://search.csdn.net/</a><br />CSDN搜索，CSDN还是有非常多的编程资源的，用它的搜索能搜出不少东西。代码类别也比较全面。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://snippets.org/" style="color: #366900; text-decoration: none; ">http://snippets.org/</a><br />简单实用的代码收集网站，强力推荐。比如你要找个DES加密，要找个数据压缩，找个INI文件操作的C代码等，均能手到擒来。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.codase.com/index.html" style="color: #366900; text-decoration: none; ">http://www.codase.com/index.html</a><br />它是一个代码搜索引擎，特别是搜索c/c++的开源代码，可以通过函数名、类名等搜索，很酷噢</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://sourceforge.net/" style="color: #366900; text-decoration: none; ">http://sourceforge.net</a><br />有名的开源代码库，只要能想到的功能，上面都有对应的源码</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.tigris.org/" style="color: #366900; text-decoration: none; ">http://www.tigris.org/</a><br />和上面的sourceforge一样的开源代码库，不过sourceforge用CVS，而这个用SVN版本管理。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://cosoft.org.cn/" style="color: #366900; text-decoration: none; ">http://cosoft.org.cn/</a><br />中文版的开源代码库，好像是由sourceforge直接翻译过来的。其同步性等尚未考察。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://codeguru.com/" style="color: #366900; text-decoration: none; ">http://codeguru.com</a><br /><a href="http://codeproject.com/" style="color: #366900; text-decoration: none; ">http://codeproject.com</a><br />这两个站点比较类似，放一起吧。以WINDOWS下的Visual studio编程代码、教程为主。在以前可是使用MFC的人的必经之地。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.experts-exchange.com/Programming/" style="color: #366900; text-decoration: none; ">http://www.experts-exchange.com/Programming/</a><br />这是专家问答的网站，在编程方面能够解决不少问题。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.koders.com/" style="color: #366900; text-decoration: none; ">http://www.koders.com/</a><br />也是一个代码搜索引擎，与codase差不多，并且能查找指定许可的代码</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://groups.google.com/" style="color: #366900; text-decoration: none; ">http://groups.google.com/</a><br />找代码，决不能忘记google的groups。一定要去噢。国内的兄弟可能访问时不稳定，就用代理吧。如果你用firefox，可以使用我开发的xyzproxy切换代理，很方便噢:)</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.thefreecountry.com/sourcecode/index.shtml" style="color: #366900; text-decoration: none; ">http://www.thefreecountry.com/sourcecode/index.shtml</a><br />这也是个源码码网站。这个网站的资源还是很多的。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.vckbase.com/" style="color: #366900; text-decoration: none; ">http://www.vckbase.com/</a><br />VC知识库，国内比较好的VC资源站　</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.programmersheaven.com/" style="color: #366900; text-decoration: none; ">http://www.programmersheaven.com/</a><br />开发者天堂？ 有一些教程好像不错。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.cprogramming.com/" style="color: #366900; text-decoration: none; ">http://www.cprogramming.com/</a><br />收集C/C++编程方面资源的网站</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://csourcesearch.net/" style="color: #366900; text-decoration: none; ">http://csourcesearch.net</a><br />又一个代码搜索网站，大家试试？</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; "><a href="http://www.netlib.org/" style="color: #366900; text-decoration: none; ">http://www.netlib.org/</a><br />源代库索引，有很多数学方面的库，很好用。要找库，以此网站着手较好</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; ">50个c/c++源代码网站<br />C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单，这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单，您有建议可以联系我，我将欢迎您的建议，以进一步加强这方面的清单。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; ">1、<a href="http://snippets.dzone.com/tag/c/" style="color: #366900; text-decoration: none; ">http://snippets.dzone.com/tag/c/</a>&nbsp;--数以千计的有用的C语言源代码片段<br />2、<a href="http://www.hotscripts.com/category/c-cpp/scripts-programs/" style="color: #366900; text-decoration: none; ">http://www.hotscripts.com/category/c-cpp/scripts-programs/</a>&nbsp;Hotscripts --提供数以百计的C和C++脚本和程序。所有程序都分为不同的类别。<br />3、<a href="http://www.planetsourcecode.com/vb/default.asp?lngWId=3" style="color: #366900; text-decoration: none; ">http://www.planetsourcecode.com/vb/default.asp?lngWId=3</a>&nbsp;--超过万行C和C++免费的源代码<br />4、<a href="http://freshmeat.net/browse/164/" style="color: #366900; text-decoration: none; ">http://freshmeat.net/browse/164/</a>&nbsp;--超过9000个C编写的项目。<br />5、<a href="http://www.daniweb.com/code/c.html" style="color: #366900; text-decoration: none; ">http://www.daniweb.com/code/c.html</a>&nbsp;--DANIWEB提供的实用代码段。<br />6、<a href="http://www.programmersheaven.com/tags/C/" style="color: #366900; text-decoration: none; ">http://www.programmersheaven.com/tags/C/</a>&nbsp;--programmersheaven.com上的C编程资源。<br />7、<a href="http://www.ddj.com/code/ddj.html" style="color: #366900; text-decoration: none; ">http://www.ddj.com/code/ddj.html</a>&nbsp;--Dr. Dobb&#8217;s Journal的源代码。<br />8、<a href="http://www.cprogramming.com/cgi-bin/source/source.cgi" style="color: #366900; text-decoration: none; ">http://www.cprogramming.com/cgi-bin/source/source.cgi</a>&nbsp;--C和C + +编程资源。<br />9、<a href="http://www.codecogs.com/" style="color: #366900; text-decoration: none; ">http://www.codecogs.com/</a>&nbsp;--CodeCogs是一项协作的开放源码库，C/C++的数值方面的组件。<br />10、[URL=http://www.google.com /codesearch?q=programming++lang:c&amp;cs_r=lang:c ]http://www.google.com/codesearch?q=programming++lang:c&amp;cs_r=lang:c [/URL] --谷歌代码的C源代码。<br />11、<a href="http://www.codepedia.com/1/C" style="color: #366900; text-decoration: none; ">http://www.codepedia.com/1/C</a>&nbsp;--CodePedia是一个开放的关于系统编程和其他与电脑有关的议题。<br />12、<a href="http://www.cis.temple.edu/~ingargio/cis71/code/" style="color: #366900; text-decoration: none; ">http://www.cis.temple.edu/~ingargio/cis71/code/</a>&nbsp;--为学生提供的一个简单的C语言程序的列表。<br />13、<a href="http://www.codeproject.com/?cat=2" style="color: #366900; text-decoration: none; ">http://www.codeproject.com/?cat=2</a>&nbsp;--codeproject提供的C/C++资源代码项目。<br />14、<a href="http://www.thefreecountry.com/sourcecode/cpp.shtml" style="color: #366900; text-decoration: none; ">http://www.thefreecountry.com/sourcecode/cpp.shtml</a>&nbsp;--以下是一些C和C++库的DLL，VCLs，源代码，元件，模块，应用程序框架，类库，源代码片段等，你可以在您的项目中使用而不需要支付费用和版税。<br />15、[URL=http://people.sc.fsu.edu /~burkardt/cpp_src/cpp_src.html ]http://people.sc.fsu.edu/~burkardt/cpp_src/cpp_src.html [/URL] --这是一个全面的关于C++的345个源代码清单。<br />16、<a href="http://www.cplusplus.com/src/" style="color: #366900; text-decoration: none; ">http://www.cplusplus.com/src/</a>&nbsp;--C++写的通用控制台程序和Windows程序代码清单。<br />17、<a href="http://users.cs.fiu.edu/~weiss/dsaa_c++/code/" style="color: #366900; text-decoration: none; ">http://users.cs.fiu.edu/~weiss/dsaa_c++/code/</a>&nbsp;--C++语言数据结构与算法分析（第二版）的源代码。<br />18、<a href="http://c.snippets.org/" style="color: #366900; text-decoration: none; ">http://c.snippets.org/</a>&nbsp;--C源代码片段。<br />19、<a href="http://www.bbdsoft.com/downloads.html" style="color: #366900; text-decoration: none; ">http://www.bbdsoft.com/downloads.html</a>&nbsp;--C++源代码。<br />20、<a href="http://www.moshier.net/" style="color: #366900; text-decoration: none; ">http://www.moshier.net/</a>&nbsp;天文学和数值软件源代码<br />21、<a href="http://cplus.about.com/od/cgames/C_Games_with_Source_Code.htm" style="color: #366900; text-decoration: none; ">http://cplus.about.com/od/cgames/C_Games_with_Source_Code.htm</a>&nbsp;--游戏有关的C++源代码。<br />22、[URL=http://cliodhna.cop.uop.edu /~hetrick/c-sources.html ]http://cliodhna.cop.uop.edu/~hetrick/c-sources.html [/URL] --免费的C/C++数值计算源代码。<br />23、<a href="http://www.mathtools.net/C_C__/Utilities/index.html" style="color: #366900; text-decoration: none; ">http://www.mathtools.net/C_C__/Utilities/index.html</a>&nbsp;--C/C++工具。<br />24、<a href="http://www.programmerworld.net/resources/c_library.htm" style="color: #366900; text-decoration: none; ">http://www.programmerworld.net/resources/c_library.htm</a>&nbsp;--免费C++源代码和其它有用的工具。<br />25、<a href="http://www.cmcrossroads.com/bradapp/links/cplusplus-links.html" style="color: #366900; text-decoration: none; ">http://www.cmcrossroads.com/bradapp/links/cplusplus-links.html</a>&nbsp;--布拉德阿普尔顿的C++链接-资源，项目，图书馆，教学和编码。<br />26、<a href="http://www.robertnz.net/cpp_site.html" style="color: #366900; text-decoration: none; ">http://www.robertnz.net/cpp_site.html</a>&nbsp;--这是一个收集了数C/C++网站链接列表的网页。<br />27、<a href="http://www.josuttis.com/libbook/examples.html" style="color: #366900; text-decoration: none; ">http://www.josuttis.com/libbook/examples.html</a>&nbsp;--在这里，你可以看到并下载所有的本书的C++标准库例子 。<br />28、<a href="ftp://66.77.27.238/sourcecode/cuj/" style="color: #366900; text-decoration: none; ">ftp://66.77.27.238/sourcecode/cuj/</a>&nbsp;--C/C++用户杂志<br />29、<a href="ftp://66.77.27.238/sourcecode/wd/" style="color: #366900; text-decoration: none; ">ftp://66.77.27.238/sourcecode/wd/</a>&nbsp;--Windows开发者网络<br />30、<a href="http://www.einet.net/directory/65892/Developers.htm" style="color: #366900; text-decoration: none; ">http://www.einet.net/directory/65892/Developers.htm</a>&nbsp;--C程序<br />31、<a href="http://www.daniweb.com/code/cplusplus.html" style="color: #366900; text-decoration: none; ">http://www.daniweb.com/code/cplusplus.html</a>&nbsp;--实用代码段。<br />32、<a href="http://snippets.dzone.com/tag/c" style="color: #366900; text-decoration: none; ">http://snippets.dzone.com/tag/c</a>&nbsp;--C++源代码<br />33、<a href="http://www.programmersheaven.com/tags/C" style="color: #366900; text-decoration: none; ">http://www.programmersheaven.com/tags/C</a>&nbsp;--C++编程资源，programmersheaven.com<br />34、<a href="http://www.google.com/codesearch?hl=en&amp;lr=&amp;q=programming" style="color: #366900; text-decoration: none; ">http://www.google.com/codesearch?hl=en&amp;lr=&amp;q=programming</a>&nbsp;--谷歌代码搜索-C++编程语言<br />35、<a href="http://www.codepedia.com/1/Cpp" style="color: #366900; text-decoration: none; ">http://www.codepedia.com/1/Cpp</a>&nbsp;--CodePedia是一个开放的关于系统编程和其他与电脑有关的议题的网站。<br />36、<a href="http://www.codebeach.com/index.asp?TabID=1&amp;CategoryID=3" style="color: #366900; text-decoration: none; ">http://www.codebeach.com/index.asp?TabID=1&amp;CategoryID=3</a>&nbsp;--C++源代码，Codebeach提供<br />37、<a href="http://freshmeat.net/browse/165/" style="color: #366900; text-decoration: none; ">http://freshmeat.net/browse/165/</a>&nbsp;--5000项目写的C++编程语言<br />38、<a href="http://cplus.about.com/od/codelibrary/Code_Library_for_C_C_and_C.htm" style="color: #366900; text-decoration: none; ">http://cplus.about.com/od/codelibrary/Code_Library_for_C_C_and_C.htm</a>&nbsp;--代码库C、C + +和C＃。<br />39、<a href="http://www.c.happycodings.com/" style="color: #366900; text-decoration: none; ">http://www.c.happycodings.com/</a>&nbsp;--Visual Basic、PHP、ASP技术、C、C++大全。<br />40、<a href="http://www.blueparrots.com/" style="color: #366900; text-decoration: none; ">http://www.blueparrots.com/</a>&nbsp;--Borland C游戏，图像和声音源代码范例。<br />41、<a href="http://www.java2s.com/Code/Cpp/CatalogCpp.htm" style="color: #366900; text-decoration: none; ">http://www.java2s.com/Code/Cpp/CatalogCpp.htm</a>&nbsp;--C++源代码。<br />42、<a href="http://www.yeohhs.com/modules/mydownloads/" style="color: #366900; text-decoration: none; ">http://www.yeohhs.com/modules/mydownloads/</a>&nbsp;--C与C++电子书和源代码示例。<br />43、<a href="http://www.brpreiss.com/books/opus4/programs/index.html" style="color: #366900; text-decoration: none; ">http://www.brpreiss.com/books/opus4/programs/index.html</a>&nbsp;C++的数学方程和公式源代码。<br />44、[URL=http://users.cs.fiu.edu][/URL]http://users.cs.fiu.edu/ C++。<br />45、[URL=http://www.josuttis.com/libbook/examples.html][/URL]http://www.josuttis.com/libbook/examples.html --C++标准库-教程和参考资料。<br />46、<a href="http://emr.cs.uiuc.edu/~reingold/calendars.shtml" style="color: #366900; text-decoration: none; ">http://emr.cs.uiuc.edu/~reingold/calendars.shtml</a>&nbsp;Edward M. Reingold's Calendar Book, Papers, and Code。<br />47、<a href="http://cpp.snippets.org/" style="color: #366900; text-decoration: none; ">http://cpp.snippets.org/</a>&nbsp;--c++源代码档案。<br />48、<a href="http://ubiety.uwaterloo.ca/~tveldhui/papers/techniques/" style="color: #366900; text-decoration: none; ">http://ubiety.uwaterloo.ca/~tveldhui/papers/techniques/</a>&nbsp;--用C和C++的解决科学问题。<br />49、<a href="http://c.ittoolbox.com/topics/core-c/" style="color: #366900; text-decoration: none; ">http://c.ittoolbox.com/topics/core-c/</a>&nbsp;--C/C++的IT工具框。<br />50、<a href="http://www.le.ac.uk/cc/tutorials/c/ccccdbas.html" style="color: #366900; text-decoration: none; ">http://www.le.ac.uk/cc/tutorials/c/ccccdbas.html</a>&nbsp;--本文件中包含有大量的C示例程序。</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; ">&nbsp;</p><p style="color: #303030; font-family: Verdana, Helvetica, Arial; font-size: 12px; line-height: 18px; text-align: justify; background-color: #ffffff; ">本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/fisher_jiang/archive/2010/05/06/5561556.aspx" style="color: #366900; text-decoration: none; ">http://blog.csdn.net/fisher_jiang/archive/2010/05/06/5561556.aspx</a></p></div><img src ="http://www.cppblog.com/dargon/aggbug/163997.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-01-11 16:10 <a href="http://www.cppblog.com/dargon/archive/2012/01/11/163997.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Codeforces R101 Problem A</title><link>http://www.cppblog.com/dargon/archive/2012/01/10/163970.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Tue, 10 Jan 2012 15:41:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/01/10/163970.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/163970.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/01/10/163970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/163970.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/163970.html</trackback:ping><description><![CDATA[<div>LINK:<br /><div><a href="http://www.codeforces.com/contest/141/problem/A">http://www.codeforces.com/contest/141/problem/A</a></div><br /><br />题意是输入3个字符串，如果前两个字符串中的字符出现的次数和第三个字符串一样就输出yes，否则输出no<br /><br /><br />很简单的题目，c语言下用哈希，c++直接stl，python则更简单<br /><br />c:<br /><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: normal; text-align: left; white-space: pre; background-color: #f8f8f8; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #008200; ">#include</span><span style="color: blue; ">&lt;cstdio&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #006699; font-weight: bold; ">int</span> main<span style="color: #666600; ">()</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">{</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp;<span style="color: #006699; font-weight: bold; ">int</span> A<span style="color: #666600; ">[</span>256<span style="color: #666600; ">]</span> <span style="color: #666600; ">=</span> <span style="color: #666600; ">{</span>0<span style="color: #666600; ">};</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp;<span style="color: #006699; font-weight: bold; ">char</span> S<span style="color: #666600; ">[</span>256<span style="color: #666600; ">];</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; scanf<span style="color: #666600; ">(</span><span style="color: blue; ">"%s"</span><span style="color: #666600; ">,</span> S<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp;<span style="color: #006699; font-weight: bold; ">for</span><span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">int</span> i<span style="color: #666600; ">=</span>0<span style="color: #666600; ">;</span> S<span style="color: #666600; ">[</span>i<span style="color: #666600; ">];</span> <span style="color: #666600; ">++</span>i<span style="color: #666600; ">)</span> A<span style="color: #666600; ">[(</span><span style="color: #006699; font-weight: bold; ">int</span><span style="color: #666600; ">)</span>S<span style="color: #666600; ">[</span>i<span style="color: #666600; ">]]++;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; scanf<span style="color: #666600; ">(</span><span style="color: blue; ">"%s"</span><span style="color: #666600; ">,</span> S<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp;<span style="color: #006699; font-weight: bold; ">for</span><span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">int</span> i<span style="color: #666600; ">=</span>0<span style="color: #666600; ">;</span> S<span style="color: #666600; ">[</span>i<span style="color: #666600; ">];</span> <span style="color: #666600; ">++</span>i<span style="color: #666600; ">)</span> A<span style="color: #666600; ">[(</span><span style="color: #006699; font-weight: bold; ">int</span><span style="color: #666600; ">)</span>S<span style="color: #666600; ">[</span>i<span style="color: #666600; ">]]++;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; scanf<span style="color: #666600; ">(</span><span style="color: blue; ">"%s"</span><span style="color: #666600; ">,</span> S<span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp;<span style="color: #006699; font-weight: bold; ">for</span><span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">int</span> i<span style="color: #666600; ">=</span>0<span style="color: #666600; ">;</span> S<span style="color: #666600; ">[</span>i<span style="color: #666600; ">];</span> <span style="color: #666600; ">++</span>i<span style="color: #666600; ">)</span> A<span style="color: #666600; ">[(</span><span style="color: #006699; font-weight: bold; ">int</span><span style="color: #666600; ">)</span>S<span style="color: #666600; ">[</span>i<span style="color: #666600; ">]]--;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp;<span style="color: #006699; font-weight: bold; ">int</span> ok <span style="color: #666600; ">=</span> 1<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp;<span style="color: #006699; font-weight: bold; ">for</span><span style="color: #666600; ">(</span><span style="color: #006699; font-weight: bold; ">int</span> i<span style="color: #666600; ">=</span>0<span style="color: #666600; ">;</span> i<span style="color: #666600; ">&lt;</span>256<span style="color: #666600; ">;</span> <span style="color: #666600; ">++</span>i<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span><span style="color: #666600; ">(</span>A<span style="color: #666600; ">[</span>i<span style="color: #666600; ">]!=</span>0<span style="color: #666600; ">)</span> ok<span style="color: #666600; ">=</span>0<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; puts<span style="color: #666600; ">(</span>ok <span style="color: #666600; ">?</span> <span style="color: blue; ">"YES"</span> <span style="color: #666600; ">:</span> <span style="color: blue; ">"NO"</span><span style="color: #666600; ">);</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp;<span style="color: #006699; font-weight: bold; ">return</span> 0<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">}</span></li></ol></div><br />c++<br /><br /><br /><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: normal; text-align: left; white-space: pre; background-color: #f8f8f8; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #008200; "># include &lt;iostream&gt;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #008200; "># include &lt;string&gt;</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #008200; "># include &lt;algorithm&gt;</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #006699; font-weight: bold; ">using</span> <span style="color: #006699; font-weight: bold; ">namespace</span> std<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #006699; font-weight: bold; ">int</span> main<span style="color: #666600; ">()</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #666600; ">{</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">string</span> s<span style="color: #666600; ">,</span> t<span style="color: #666600; ">,</span> q<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; cin <span style="color: #666600; ">&gt;&gt;</span> s <span style="color: #666600; ">&gt;&gt;</span> t <span style="color: #666600; ">&gt;&gt;</span> q<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; s <span style="color: #666600; ">+=</span> t<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; sort<span style="color: #666600; ">(</span>s<span style="color: #666600; ">.</span><span style="color: #006699; font-weight: bold; ">begin</span><span style="color: #666600; ">(),</span> s<span style="color: #666600; ">.</span><span style="color: #006699; font-weight: bold; ">end</span><span style="color: #666600; ">());</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; sort<span style="color: #666600; ">(</span>q<span style="color: #666600; ">.</span><span style="color: #006699; font-weight: bold; ">begin</span><span style="color: #666600; ">(),</span> q<span style="color: #666600; ">.</span><span style="color: #006699; font-weight: bold; ">end</span><span style="color: #666600; ">());</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">if</span> <span style="color: #666600; ">(</span>s <span style="color: #666600; ">==</span> q<span style="color: #666600; ">)</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp;cout <span style="color: #666600; ">&lt;&lt;</span> <span style="color: blue; ">"YES"</span><span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">&nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">else</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; &nbsp; &nbsp; cout <span style="color: #666600; ">&lt;&lt;</span> <span style="color: blue; ">"NO"</span><span style="color: #666600; ">;</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">&nbsp; &nbsp; <span style="color: #006699; font-weight: bold; ">return</span> 0<span style="color: #666600; ">;</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #666600; ">}</span></li></ol></div><br />python<br /><br /><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font-family: Consolas, Monaco, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: normal; text-align: left; white-space: pre; background-color: #f8f8f8; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">x <span style="color: #666600; ">=</span> <span style="color: #666600; ">(</span>raw_input<span style="color: #666600; ">()</span> <span style="color: #666600; ">+</span> raw_input<span style="color: #666600; ">())</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; ">y <span style="color: #666600; ">=</span> raw_input<span style="color: #666600; ">()</span><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; "><span style="color: #006699; font-weight: bold; ">print</span> <span style="color: blue; ">"YES"</span> <span style="color: #006699; font-weight: bold; ">if</span> sorted<span style="color: #666600; ">(</span>x<span style="color: #666600; ">)</span> <span style="color: #666600; ">==</span> sorted<span style="color: #666600; ">(</span>y<span style="color: #666600; ">)</span> <span style="color: #006699; font-weight: bold; ">else</span> <span style="color: blue; ">"NO"</span></li></ol></div><br /><br /><br /><br /><a href="http://www.codeforces.com/contest/141/problem/A"><br /><br /></a></div><img src ="http://www.cppblog.com/dargon/aggbug/163970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-01-10 23:41 <a href="http://www.cppblog.com/dargon/archive/2012/01/10/163970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于undefined reference to `WinMain@16'</title><link>http://www.cppblog.com/dargon/archive/2012/01/10/163937.html</link><dc:creator>玉香</dc:creator><author>玉香</author><pubDate>Tue, 10 Jan 2012 07:16:00 GMT</pubDate><guid>http://www.cppblog.com/dargon/archive/2012/01/10/163937.html</guid><wfw:comment>http://www.cppblog.com/dargon/comments/163937.html</wfw:comment><comments>http://www.cppblog.com/dargon/archive/2012/01/10/163937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dargon/comments/commentRss/163937.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dargon/services/trackbacks/163937.html</trackback:ping><description><![CDATA[今天在写一个程序，编译的时候提示 &nbsp;undefined reference to `WinMain@16'|<br />google it，原因是我还没写main（）函数，哈哈<br /><br /><br /><br /><br /><img src ="http://www.cppblog.com/dargon/aggbug/163937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dargon/" target="_blank">玉香</a> 2012-01-10 15:16 <a href="http://www.cppblog.com/dargon/archive/2012/01/10/163937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>