摘要: 1,gets() 方法Q:以下代码有个被隐藏住的问题,你能找到它吗? 1 #include<stdio.h> 2 3 int main(void) 4 { 5 char buff[10]; 6 memset(buff,0,sizeof(buff)); 7 8 gets(buff); 9 10 printf("\n The buffer entered is [%s]\n",buff);11 12 return 0;13 }A:这个不显眼的问题就是使用了 gets() 方法。此方法接受一个string类型参数,但是却没有检测此数值是否有足够的空间来拷贝... 阅读全文
posted @ 2012-09-06 20:53 山路水桥 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.codeproject.com/cpp/complex_declarations.asp作者:VikramAPunathambekar介绍曾经碰到过让你迷惑不解、类似于int*(*(*fp1)(int))[10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C++声明并不是好的编程风格;我这里仅仅是教你如何去理解这些声明。注意:为了保证能够 阅读全文
posted @ 2012-09-06 19:19 山路水桥 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。 5、写出的代码质量高。包括:代码的稳定、易读、规范、易维护、专业。这些都是程序员的修养,这里我想谈谈"编程修养",也就是上述中的第5点。我觉得,如果我要了解一个作者,我会看他所写的小说,如果我要了解一个画 阅读全文
posted @ 2012-09-06 13:25 山路水桥 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1、基本定义。子串:字符串S的子串r[i...j]。后缀:以i开始的后缀表示为Suffix(i)。大小比较:按字典序。后缀数组:SA是一个一维数组。将S的后缀从小到大排序后,后缀的开头位置顺次放入SA。(SA[i]=j:排在第i个的是Suffix(j))名词数组:Rank[i]是Suffix(i)在... 阅读全文
posted @ 2012-09-06 01:18 山路水桥 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 【1】一些定义:字符串:广义的字符串是指“元素类型有序,且元素值有一定范围的序列”,其元素不一定非要是字符,可以是数字等,因此整数、二进制数等也是字符串;字符集:字符串的元素值的范围称为字符集,其大小记为SZ。字符串的长度:字符串中元素的个数,一般记为N,长度为N的字符串A第一次提到时一般用A[0.... 阅读全文
posted @ 2012-09-06 01:03 山路水桥 阅读(1157) 评论(1) 推荐(1) 编辑