- 博客(9)
- 资源 (3)
- 收藏
- 关注
翻译 据说是美国最“怪”C程序大赛的获奖程序
int main(){printf(&unix["/021%six/012/0"], (unix)["have"] + "fun" - 0x60); }gcc -S编译成汇编代码如下: .file "test.c" .section .rodata.LC0: .string "fun".LC1: .
2007-11-08 23:08:00 555
翻译 程序自己打印自己
main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34)}",34);}//(关键点 1.利用函数从右向左的入栈顺序 2.34是引号 ) 因此相当于://main(a){printf("main(a){printf(a,34,a=%c%s%c,34)}",34,a="main(a){printf(a,34,a=%c%s%c,34)}",34);
2007-11-08 22:50:00 767
翻译 判断单向链表中是否有环
核心思想 :用两个速度不一样的指针从头遍历,如果存在环,则快的指针终将追上慢的指针!bool CircleInList(Link* pHead) { if(pHead == NULL || pHead->next == NULL)//无节点或只有一个节点并且无自环 { return (false); } if(
2007-10-24 22:12:00 1030 1
原创 函数指针
Function pointersNote: The syntax for all of this seems a bit exotic. It is. It confuses a lot of people, even C wizards. Bear with me.It’s possible to take the address of a function, too. And like
2007-10-08 22:58:00 718
原创 关于出栈序列
特点:对于对于序列中的每一个数,在它后面的且比它小的数是降序排列的 数量:(2n)!/(n!*(n+1)) ----------Catalan数 由于一个出栈序列对应由N个结点过程的一棵二叉树, 根据二叉树的建立过程可知,二叉树的中序排列要使用栈的进栈序列对应二叉树的前序序列,栈的出栈序列对应二叉树的中序
2007-09-28 10:32:00 903
转载 关于素数
定义:素数是大于1的整数数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。 孪生素数:就是差为2的素数对,例如11和13。是否存在无穷多的孪生素数,还没有证明。 早在公元前300年,希腊数学家欧几里得就已证明过,不论你取的数是多大,肯定还会有比它大的素数。对于前任意多个素数,如果算出了它们的乘积后再加上1,所得的数或者是一个素数,或者是比所列出的素数还要大的几
2007-09-22 16:14:00 890
转载 为什么拷贝构造函数要使用引用作参数
拷贝构造函数定义采用的通用格式为 X::X(const X& x) { ...... } ,其中const是为了保证实参值不被改变。 拷贝构造函数采用引用方式是为了用引用对象中的成员变量值来初始化对象空间,而且在面临资源重新分配的深拷贝时候,比如对堆对象的重新分配以避免重复引用堆对象,这个时候采用引用不仅有效率上的提高,在安全性和操作性上也比值传递要更实用 。
2007-09-03 20:26:00 1037
转载 构造函数浅析
构造函数浅析 规则一:声明规则Ⅰ:1. 即没有声明默认(缺省)构造函数,也没有声明其他构造函数,合法.2. 如果只声明了默认(缺省)构造函数,合法.3. 如果声明了默认(缺省)构造函数,但不是公有,错误.4. 即声明了默认(缺省)构造函数, 也同时声明了带默认参数的构造函数.错误.因为存在暧昧构造函数调用.不带任何参数的
2007-09-02 23:47:00 822
原创 开章啦
以前的博客请见 http://i.cn.yahoo.com/ytfvbijnm以后的技术文章就放到这里,这里是我向往已久的地方。。。努力中
2007-08-31 15:21:00 450
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人