错误总结(持续更新)


首先声明:本人菜鸟。。。


1。在写程序时,我总是爱在 定义一个全局变量  max   ,结果程序一直调试正确,,,

后来查了一下,max 是 algorithm 头文件中已经定义的函数, 我把它当做一个变量,来使用,总是出错,后来把max 改成 Max 就OK了(这点是女友指点的,一开始就是没想到是,万分感激女友(*^__^*) 嘻嘻……)。


2.定义很多个大数组时比如说是1000000,可以#define N 1000000;或者 const int N = 1000000;

然后定义数组 a[N],b[N]....

以前总爱用到一个写一个 ,如果程序Runtime Error(ACCESS_VIOLATION),

一般需要改数组大小,,结果就悲催的一个一个改,小的话,再改。。。


3.尽量把程序里面一块一块的功能分成一个一个的子函数来写,

然后在调用,这样做的好处在于调试程序的时候可以一个功能一个的调试,提高了效率,说道效率,这几天效率一直很低,,,有时候一天也调不对一个程序,整的都快要崩溃了,几乎想放弃,不过在你恍然大悟的那一刻,程序AC 了,然后就又有信心坚持下去了、、


4.。还是应该多做总结,发现前面已经弄懂的问题,如果不及时总结的话,还没过几天就忘了,记了个大概,真的用的时候又模糊了,无从下手,,

 

 

5.全局变量,这几天写的程序都用到全局变量,,然后在写子函数时需要调用,有时候会发现,子函数里面调用了但是不管用,检查一下发现,既然定义了全局变量,就不能再在函数内部定义相同名字的变量了,否则容易出错,

 

6,今天又遇到一个错误,直接导致WA ,在使用数组时,每组测试数据都要将数组进行初始化, 递归函数要对第一次调用前初始化。。。。

 

7.二维数组访问时的下标问题,,!!


8、对于int a[N][N],二维数组,定义到主函数外面,否则N较大时(>1000)容易会出错

 

9.对于栈,队列,能用数组尽量用数组,时间能减少不少,今天遇到一题,一直用G++提交超时,后来用C++ 提交则前面几个全部通过。


10.HDU oj 系统,对于 64位整型 要用__in64,输出用 %I64d

不要用long long,可能会出错。。。。