C/C++
文章平均质量分 74
do-the-right
没有人会因为,你秘而不宣的思想而记住你,向上帝祈求力量和智慧来表达他们吧,向你的朋友证明他们对你来说是多么重要! -----加西亚.马尔克斯
展开
-
Climbing Stairs(爬楼梯 Leetcode 第70题,最优解法)
英文原题 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? Note: Given n will ...原创 2018-09-13 21:50:13 · 946 阅读 · 0 评论 -
通过实例理解:C语言 volatile 关键字
下面这段程序的输出是什么?#include <stdio.h>int main(){ int i = 5; int j = 6; int p = 0; int q = 0; p = (i++)+(i++)+(i++); q = (++j)+(++j)+(++j); printf("i=%d,j=%d,p=%d,q=%d \n",i,j,p,q)原创 2017-09-09 01:36:41 · 1222 阅读 · 0 评论 -
一份用动画演示操作系统的各个过程的资料
操作系统 动画演示原创 2016-10-08 16:10:20 · 4541 阅读 · 5 评论 -
正则匹配---C语言实现
实现一个能匹配, ^ ,* ,. ,$ ,的正则表达式/************************************************************************* > File Name: mathRE.c > Author: guoqingyao > Mail: stepbystepto@163.com > Created原创 2016-08-25 08:12:04 · 1234 阅读 · 0 评论 -
linux内核模块编程入门
内核 模块编写原创 2016-10-04 11:46:14 · 736 阅读 · 0 评论 -
为什么C++需要虚继承
先看个编译多继承带来的编译错误/************************************************************************* > File Name: muti_inherit.cpp > Author: guoqingyao > Mail: stepbystepto@163.com > Created Time原创 2016-08-14 12:35:41 · 735 阅读 · 0 评论 -
代码检视九句箴言
老东家代码检视的箴言,还抽查过背诵,这么久了,我还记得,俗话说,好记性比不上烂笔头,所以就写在这里了.看见了If,就想Else。看见malloc,就去找Free。函数调用要小心,需要看看返回值。看到for循环,就找边界值。看见return要注意,要去前面找资源。看见数组把神提,问题往往在下标。不要小看字符串,长度是个大问题。得到函数不要急,看看变量初始化,各种路径要小心。赋值函数最转载 2016-08-13 16:17:06 · 1290 阅读 · 1 评论 -
C语言中 sscanf()的用法
功能:sscanf() - 从一个字符串中读入,指定格式的数据,并存入对应的参数列表中.函数原型: /* 返回值 失败:-1 ;成功:格式化参数的数目. str 待读入的字符串,特定的字符串 fmt 格式化方式 var1 ,var2 ...参数列表 */ int sscanf( string str, string fmt, mixed var1, mixed转载 2016-08-23 22:17:57 · 846 阅读 · 0 评论 -
bit翻转
前几天做了一道面试题,题目是将一个字符的位翻转,例如 0b01001101 –>0b10110010 首先我想到的是转化为字符串,然后使用字符串的翻转,编程毕竟不是数学证明题,把未知转换为已经证明过的已知,而是要根据本身的特点,设计出最佳的算法. 一般涉及位的操作,使用 位移和逻辑运算,不仅效率高而且操作简单,于是这个题目完全使用位的操作来实现./***********************原创 2016-08-22 22:00:26 · 2269 阅读 · 0 评论 -
python中的id() 函数深度解剖
最近看的时候,讲到可变类型和不可变类型的时候,使用id(),至于id()函数返回值,书中只是说与分配的内存地址有密切关系,那么是什么关系呢?请看下面实验结果:dotheright@dotheright:~$ pythonPython 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2] on linux2Type "help",原创 2016-05-18 00:06:29 · 1975 阅读 · 0 评论 -
代码检视规则(安全相关)
看见运算,就检查整数溢出。看见Copy, 就检查越界。有字符串输入,就检查命令注入。看到打印信息,就检查格式化攻击。看到文件输入,就检查利用路径。看到加密算法,就检查是否安全。看到开源代码,就找历史漏洞。看见用户名密码,就检查硬编码。 入口数据不校验,污染就会传进来。循环边界走不到,Deadloop就复位。数组索引使用他,数组读写就越界。Copy长度原创 2016-01-02 00:17:39 · 4493 阅读 · 0 评论 -
做OJ题常用的C语言函数——数字相关 (不断更新......)
/* 获取int 入参类型的位数 */int getIntLenth(int n){ int i = 0; if ( 0 == n ) // 特殊入参的处理 { return 1; } while ( 0!= n) { n = n/10 ; i++; } return i;}原创 2012-10-16 01:30:53 · 1136 阅读 · 0 评论 -
转载牛人的“青蛙过河”
Problem description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳转载 2012-10-31 00:06:58 · 1710 阅读 · 0 评论