![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
liangzhaowei
这个作者很懒,什么都没留下…
展开
-
读字符串越界
写C程序的时候经常会用到读字符串。当为字符串数组开辟的空间不够大的时候,输入字符数大于数组大小会发生不可预知的运行时的错误,这种错包括1> 运行时错误,2>结果错误,3,>段错误。遗憾的是C语言本身没有提供检测这种的错误的机制。下面根据代码分析产生错误的类型以及原因。 分析1 #include int main(void) { int sum = 0, i = 0; cha原创 2013-09-07 15:25:26 · 852 阅读 · 0 评论 -
c/c++中static关键字的作用
static在C里面可以用来修饰变量,也可以用来修饰函数。 1.static局部变量 a.生存周期:静态局部变量在函数内定义,生存期为整个源程序; b.存储方式:当用static修饰时,从原来的栈中存放改为静态存储区; c.作用域:与自动变量相同,只能在定义该变量的函数内使用,退出该函数后,尽管该变量还继续存在,但不能使用它; d.初始化:对基本类型的静态局部变量若在说明时未赋以初值,则转载 2013-09-26 10:02:22 · 599 阅读 · 0 评论 -
C++ _int64 不能直接进行移位运算
_int64 x = 1cout//x的输出为0,是因为64位整数不能直接作移位运算。//如下实现移位操作: //64左移len 位 U64 move_left64(U64 a, int len) { U32 *p = (U32*) &a; if (len <32) { *(p+1) <<= len; U32 tmp = (*p) >> (32-len); *(p+1) |=原创 2013-12-17 11:06:54 · 4780 阅读 · 2 评论 -
字符串算术表达式运算-逆波兰解法
/* *转自百度百科代码 */ 思路:用到两个栈S1,S2,S1存放表达式逆波兰表示的结果,S2临时栈存放运算符。 #include #include #include #include #include #include #define max 100 using namespa转载 2014-03-15 21:28:50 · 822 阅读 · 0 评论