斐波那契博大精深啊,还有求幂的迭代也有点意思 1 //斐波那契有好多中方法 2 #include 3 #include 4 using namespace std; 5 6 //注意普通斐波那契,在太大数时就会发生越界,比如long long 只能存表示第92个数,这些都是小的斐波...
分类:
其他好文 时间:
2014-07-15 22:50:18
阅读次数:
276
本来只是一时兴起,想动手整整大学学的很渣的C++,可是一段小小的代码缺牵扯出一堆问题来,好有趣。来看一段代码:void main() { char p[6]; char *buf = new char[4]; strcpy(buf,"012356789");//这里越界不会报...
分类:
编程语言 时间:
2014-07-15 08:52:27
阅读次数:
266
1、在C++中,可以采用几种不同的方法创建一个某种类型T的对象的数组。3种常用的方法如下:
#define N 10 //数组的长度N在编译时已知
T static_array[10];
int n = 20; //数组的长度n是在运行时计算的
T* dynamic_array = new T[n];
std::vector vector_array; //数组的长度可以在运...
分类:
其他好文 时间:
2014-07-12 17:57:42
阅读次数:
131
1、我们大都知道可以使用vector或array模板作为线性数组的实现,那么对于需要二维矩阵、三维数组(或者N维数组)时应该怎么解决。
由于N维数组的基本情况中的所有问题都可以用一个二维矩阵举例说明,因此以下的讨论仅限于此,并简单的称为矩阵。
如果矩阵的大小在编译时是已知的,可以很方便的把它实现为数组的数组,这个很简单。这里,我们主要把注意力集中在当矩阵的大小是在运行时计算产生,对于这种复杂的...
分类:
其他好文 时间:
2014-07-10 17:24:35
阅读次数:
212
今天写程序时候出现了Segmentation fault,在网上查了一些资料,基本上的原因是,非法的内存访问。
例如数组的越界,在循环操作时循环变量的控制问题,也有字符串拷贝时长度溢出,指针指向了非法的空间,还有就是申明一个指针,但却没有对其初始化,就直接引用,或者没有开辟内存空间就释放内存,下面是自己找的一些可能情况,当做提醒自己吧。
1.内存访问越界
a) 由于使用错误的下标...
分类:
其他好文 时间:
2014-07-08 21:27:04
阅读次数:
194
写入位置时发生访问冲突
原因总结如下:
1:使用了未初始化的指针(未给指针分配空间)
2:使用了已经删除的指针
总之是指针未初始化以及越界被删除的原因
例:
char* str = "ABCD"; //char str[] = "ABCD";可以解决
strrev(str);
char * strrev(char str[]){...
分类:
其他好文 时间:
2014-07-06 09:57:34
阅读次数:
264
Obj-C只是增加了一点“特殊语料”的C语言,所以可以用printf()代替NSLog()。但我们建议使用NSLog,因为它添加了特性,例如时间戳,日期戳和自动附加换行符(‘\n’)等。1.OC的数组成员是任意的对象指针 与C中的链表结构类似(以nil结尾) 一切的数组操作不能越界OC的数组分为.....
分类:
其他好文 时间:
2014-07-05 22:33:03
阅读次数:
341
warning C4996: “fopen”被声明为否决的问题:vs2005中编程时,遇到如下:warning C4996: “fopen”被声明为否决的。解释:微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一 下同...
分类:
其他好文 时间:
2014-06-30 14:18:29
阅读次数:
186
思路基本上就是组合计数,唯一特别需要注意的是在计算组合数的时候很容易越界,虽然上面分析了计算结果在int范围内是没有问题的,但是计算组合数中间过程还是很可能越界,所以这里要特别注意。解决方法是利用C(n,m)=C(n-1,m-1)+C(n-1,m)进行递归计算,而不是使用传统的乘法计算方式。为了更有效率一点,可以事先计算好n=1~32,m=1~32的组合数的结果然后存起来。...
分类:
其他好文 时间:
2014-06-29 22:30:04
阅读次数:
314
Command terminated by signal 11可能的情况之一是数组越界,你在访问不被允许的内存空间。...
分类:
其他好文 时间:
2014-06-28 07:20:01
阅读次数:
238