NOIP易错整理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TengWan_Alunl/article/details/81265387

表达式的值:

  1. C++中除了0以外都代表真,所以负数布尔值也是真。写循环的时候应该注意,如果while(i)的话有可能i因为某种操作被减成负数就会一直循环个不停。所以还是写while(i>0)保险。

手写哈希表:

  1. 当哈希表要处理0时,必须将哈希表的值初始化为-1,否则会引起结果出错。(变成默认0已经在哈希表里了)

字符串:

  1. 当使用char数组的时候(比如叫s),不能直接与带引号的字符串(比如“naisiki!”)比较。而是应该使用strcmp(s,“naisiki!”)函数来进行比较,当两者相等时返回0,而前者大于后者时返回值为正数,反之为负数。相比,string可以直接与带引号的字符串进行比较。造成这种现象的原因是char数组是数组,而数组名只是一个指向数组开头的常量指针,并非一整个数组,所以不能直接比较。

STL:

  1. 在局部里使用STL的一些容器的时候最好在局部内定义,而不要在全局定义,速度差异非常大,可以导致TLE,我也不知道为什么。

猜你喜欢

转载自blog.csdn.net/TengWan_Alunl/article/details/81265387