即将毕业的消息,又一次打断了我安逸的生活,大学四年虽然学习了很多,但是因为专业的限制,导致我没有精通的一门技术,所以找个合适的工作肯定还是不够的,和同学商议了很久,决定出去闯荡,就这样,我来到了上海,找到了华清远见上海中心培训公司。

在这人生地不熟的城市,我们跌跌撞撞的找到了宿舍,虽然些许的简陋,但我们知道这一程是来干吗的,在班主任陈老师的帮助下,我们很快就熟悉了这边的环境,虽然没有认识人,但是还是很快融入了这个新的家庭。

我们到的第三天就开始了新课,课程第一部分,c语言,我又要温故而知新,在繁琐的代码中寻找新的自我,华清远见上海中心的老师讲的很细,但是我没有认真听,直到那个令人头疼的指针,一看指针整个人都感觉不好了,这是啥啊?为啥会有指针这种东西?这东西真的有用吗?短短的几行代码让我不禁反问自己,这真的是c语言吗?

老师看到我满头问号放慢了讲课速度,对我进行循序渐进的引导,用黑板给我画出了数据在内存中大概的样子,我从满头问号到渐渐开明只用了半天,在老师的逐步引导下让我看到了return的短板,在剩下的自习时间中,我慢慢的摸清了指针的门道,然后就发现,这玩意不是比for循环简单多了吗?想读取数据直接让地址偏移就行,又快又省事,现在看见题就想着用指针做。

本来以为在指针之后c基础已经没什么能让我学习了的时候,突然又出现了一个名为递归函数的东西,但是我还是硬着头皮开搞,一看题目:输入一个数,看这个数的二进制有几个1,我直接好家伙,经过十几分钟的努力,虽然写出来了,但是这代码看的我痛不欲生。

#include <stdio.h>
int find_1(unsigned int a,int i,int count);
int main(int argc, const char *argv[])
{
int i=0,count = 0;
unsigned int a;
scanf("%u",&a);
count = find_1(a,i,count);
printf("%d\n",count);
return 0;
}
int find_1(unsigned int a,int i,int count)
{
if(a&1)
count++;
i++;
if(i==32)
return count;
return find_1(a>>1,i,count);
} 

这复杂的逻辑,老师看了直接说,那么多方法你偏偏选择了最难的那个,再重新想想,我就心想这玩意用while多简单啊,几句话就能解决,正经人谁用递归啊。一想到用while解决这个问题时的方法,我突然脑子里就有了一些思路,是不是也能用递归仿照那个方法也去做一个出来。

好一顿冥思苦想,不多说,直接上代码:

#include <stdio.h>
int find_1(unsigned int a);
int main(int argc, const char *argv[])
{
int count;
unsigned int a;
scanf("%u",&a);
count = find_1(a);
printf("%d\n",count);
return 0;
}
int find_1(unsigned int a)
{
if(a==0)
return a;
return a%2+find_1(a/2);
}

我当场就是个好家伙,虽然烧脑,但是这三句就能完事,的确简短,逻辑性也更强,在我询问老师问什么要放着简单方法不用,去费力不讨好的写递归语句的时候,老师只回了我一句话:“让别的程序员看不懂你写的正常的代码,这不正说明你比他强吗?”。一句话过后,我如拨云见日,茅塞顿开!在竞争如此激烈的职场上,你拥有别人没有的技能,那就是你和别人竞争的资本!

现在,半个多月过去了,经历很多事情之后,我终于明白了,可怕的不是恃才自傲,而是眼高手低,我又重新想起了我来时的目的:这一程,只为追上那个曾经努力奔跑的少年!

I Want My Tears Back相关推荐

  1. Tears - 一首钢琴曲

    下载链接:http://forum.lingdot.com/uploadfile/200510111327271245.mp3   这首钢琴曲已经听了好久了,今天要推荐给别人听,所以来写一点自己的感觉 ...

  2. 《Topology Without Tears》第一章读书笔记,笑着学拓扑(欸嘿嘿,嘿嘿,学你妈!

    淦,写狗日的论文涉及到了流形优化,流形优化有涉及到了拓扑,只能从零开始学拓扑了...这是一个非常痛苦的过程... 在网上找来找去,发现了<无泪的拓扑>大家都说好.结果我一看,好家伙,尽管这 ...

  3. Rain and Tears

    Rain and Tears                                                                        Aphrodite's Ch ...

  4. Tears in Heaven

    转载于:https://www.cnblogs.com/fluxay/archive/2011/08/02/3649309.html

  5. 跨站脚本攻击(XSS)FAQ

    原作者charlee.原始链接http://tech.idv2.com/2006/08/30/xss-faq/以及本声明. 该文章简单地介绍了XSS的基础知识及其危害和预防方法.Web开发人员的必读. ...

  6. Google Test(GTest)使用方法和源码解析——Listener技术分析和应用

    在<Google Test(GTest)使用方法和源码解析--结果统计机制分析>文中,我么分析了GTest如何对测试结果进行统计的.本文我们将解析其结果输出所使用到的Listener机制. ...

  7. 23岁一无所有怎么办_我搬到国外去创业,然后一无所有。

    23岁一无所有怎么办 以我的名字还不到一美元,它仍然感觉不像是最低点. (With not even a dollar to my name, it still didn't feel like ro ...

  8. k8s crd构建方法_告诉您正在构建没人想要的东西的8种方法(以及处理方法)

    k8s crd构建方法 by Geoffrey Bourne 杰弗里·伯恩(Geoffrey Bourne) 告诉您正在构建没人想要的东西的8种方法(以及处理方法) (8 ways to tell y ...

  9. 把握机缘_机缘巧合,蒙太奇训练以及我的朋友如何使自己失业

    把握机缘 by Wiley Jones 通过威利琼斯 机缘巧合,蒙太奇训练以及我的朋友如何使自己失业 (Serendipity, training montages, and how my frien ...

  10. [PHPUnit]自动生成PHPUnit测试骨架脚本-提供您的开发效率【2015升级版】

    2019独角兽企业重金招聘Python工程师标准>>> 场景 在编写PHPUnit单元测试代码时,其实很多都是对各个类的各个外部调用的函数进行测试验证,检测代码覆盖率,验证预期效果. ...

最新文章

  1. POJ1276Cash Machine
  2. Spring Cloud第五章:服务网关Zuul
  3. java语言基础特性
  4. 数据标准化(归一化)
  5. 口碑好的mysql数据监控平台_构建狂拽炫酷屌的 MySQL 监控平台
  6. linux的sh文件怎么执行,linux下执行sh文件的四种做法
  7. 字符串随机生成工具类
  8. C++语言基础 —— STL —— 容器与迭代器 —— vector
  9. WordPress-Lolimeow佛系简约主题 v1.6
  10. ALAsset 将资源转换为 NSData
  11. python源码 高通滤波、低通滤波、带通滤波
  12. 刘强东震怒:疑不满内部拉帮结派人浮于事!
  13. SAP 物料成本核算冻结:料号. 不能过账,是否取消?消息 CK167
  14. 清风老师数学建模课程——第一讲层次分析法
  15. 希捷2t服务器硬盘是什么盘,希捷酷鱼2T 3.5寸硬盘晒单以及小白安装应该避免的坑...
  16. 使用Ngrok实现内网穿透|附国内免费服务器
  17. USB PD协议规范
  18. 小马智行将在北京开启公共道路无人驾驶测试
  19. 一枚钻戒如何成功借势世界杯,与粉丝秀恩爱
  20. js的间隔调用和延迟调用

热门文章

  1. Java基础之集合篇(内容超详细,带你轻松搞懂List、Set和Map的使用)
  2. 自动控制原理_卢京潮_自动控制一般概念及数学模型_学习笔记
  3. Photoshop cc 2019 破解教程
  4. javaWeb连接数据库实现简单的登陆注册功能
  5. ubuntu 恢复被删除的文件
  6. htmlunit第一个爬虫演示 目标网址http://ent.sina.com.cn/film/
  7. h5页面唤起打电话、发短信功能
  8. android 5.0设备 外接键盘 输入中文
  9. 【转】谈一谈今年的移动互联网寒冬
  10. python实现组合优化