4、整数溢出
(1)无符号数(0、+),不可能发生溢出,当它超过范围时,从0开始重新计数
有符号数(-、0、+),可能发生溢出,并且“溢出”的结果不固定
(2)当一个无符号数和有符号数相加的时候,有符号数自动转化为无符号数
(3)判断溢出
方法一:强制转换成无符号数
if( (unsigned) a + (unsigned) b > INT_MAX )
fun();
方法二:利用(2)判断溢出
if( a > INT_MAX -b )
fun();
(5)常用误区
方法一:无符号数运算结果为无符号数,无符号数始终大于等于0
if( i - j >= 0)假设i和j都为无符号数,则可能引起错误,这个式子始终成立,因为无符号数始终大于等于0
方法二:strlen返回的是无符号数
if(strlen(b)-10>=0)这个式子始终成立(牛!!!!!),正确写法如下:if( strlen(a) >= 10 )
参考见http://blog.sina.com.cn/s/blog_62714d6a0100l0dc.html(C语言中的 整数溢出)
5、getchar异常情况
char c;
while((c = getchar()) != EOF)
putchar(c);
getchar函数在一般情况下返回的是标准输入文件中的下一个字符,当没有输入时返回EOF。
用char来存放getchar的返回值,则会发生截断,发生各种不可预知的结果。
分享到:
相关推荐
《C陷阱与缺陷》是人民邮电出版社2008年出版的书籍,作者是(美)凯尼格。全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章...
根据提供的文件内容,我们可以提炼出一些关于C语言的编程知识点,包括语言缺陷、陷阱、常见的错误、以及一些编程技巧。 1. C语言的基础缺陷: - C语言是静态类型语言,不支持隐式类型转换,这在某些情况下可能会...
《C陷阱与缺陷》是一本深入探讨C语言编程中常见问题和陷阱的经典著作。这本书旨在帮助程序员避免在编码过程中遇到的潜在错误,提高代码质量和可维护性。通过对书中的内容进行解析,我们可以提取出一系列重要的知识点...
C语言是一种强大的编程语言,因其灵活性和效率深受程序员喜爱,但它同时也存在一些缺陷和陷阱,对初学者和经验不足的开发者来说,如果不了解这些潜在问题,可能会导致程序错误或者难以维护。以下是对C语言中的一些...
C语言缺陷和陷阱 C语言是一种功能强大且灵活的编程语言,但是它也存在一些缺陷和陷阱,需要程序员小心避免。在这篇文章中,我们将介绍C语言中的常见缺陷和陷阱,以及如何避免它们。 首先,让我们来讨论C语言的词法...
### C语言陷阱与缺陷概述 在探讨C语言的陷阱与缺陷之前,我们首先需要了解C语言的基本特性及其在软件开发中的重要地位。C语言是一种结构化的编程语言,它以其高效性和灵活性著称,在操作系统、嵌入式系统以及各种高...
### C语言缺陷与陷阱解析 #### 一、概述 C语言作为一门历史悠久且应用广泛的编程语言,在实际开发过程中,存在着不少容易让人忽视的缺陷和陷阱。本文将对这些缺陷和陷阱进行详细的分析,并提供相应的解决方案。 #...
《C语言陷阱与缺陷》的学习笔记详尽剖析了C语言中容易导致问题的特性,旨在帮助程序员避免潜在的陷阱。C语言以其强大的低级控制能力著称,但也因其语法细节和一些非直观的设计而闻名。以下是对笔记内容的详细解释: ...
这份"**C语言陷阱和缺陷与读书笔记word档**"正是为了帮助初学者避开这些潜在问题而编写的。 一、内存管理 在C语言中,程序员需要手动管理内存,这可能导致内存泄漏或野指针。当忘记释放已分配的内存时,就会发生...
《C指针与陷阱》是一本深入探讨C语言中指针使用技巧与常见问题的经典书籍。在C语言中,指针是其核心特性之一,它赋予了程序员直接操控内存的能力,但同时也带来了许多潜在的陷阱。这篇内容我们将深入讨论C语言中的...
《C缺陷与陷阱》的学习笔记揭示了C语言中的一些常见陷阱和理解难点,这些细节对于初学者来说可能不易察觉,但对于提升编程技能至关重要。以下是对笔记中提到的一些关键知识点的详细解释: 1. **词法陷阱** - `=` ...
### C语言缺陷与陷阱知识点详解 #### 一、引言 C语言因其高效性和灵活性而备受推崇,然而这种强大伴随着不少陷阱与缺陷。对于初学者乃至经验丰富的开发者来说,理解和规避这些问题至关重要。本文将深入探讨C语言中...
《C陷阱与缺陷》是一本深入探讨C语言潜在问题的经典著作,它揭示了在编程过程中容易忽视或误解的陷阱和缺陷。以下是对书籍内容的详细梳理: ### 一、词法陷阱 1. **`=` 不同于 `==`**:在C语言中,`=`是赋值运算符...
《C语言缺陷与陷阱》笔记概述 C语言作为一种强大的编程工具,因其低级特性而备受程序员喜爱,但也因其潜在的缺陷和陷阱而让初学者困惑。这篇笔记详细探讨了C语言在不同层面可能存在的问题,旨在帮助开发者更好地...
此资料需要有一定经验的C程序员阅读学习,即使你是C语言编程高手,此书也应该成为你的枕边书。
在"C#高手进阶之陷阱和缺陷"这个主题中,我们深入探讨了C#编程语言在高级使用过程中可能遇到的问题和潜在的陷阱。京华志作为一家知名的IT资源分享平台,提供了相关的学习资料,如"【京华志 www.jinghuazhi.com】C...
第三部分研究了由多个部分组成、分别编译并绑定到一起的C程序。第四部分处理了概念上的误解:当一个程序具体执行时会发生的事情。第五部分研究了我们的程序和它们所使用的常用库之间的关系。在第六部分中,我们注意...
4. 《C缺陷与陷阱》:揭示了C语言中的陷阱和常见错误,有助于写出更健壮的代码。 5. 《UNIX环境高级编程》:深入讲解UNIX下的C编程,对于理解系统级编程非常有帮助。 最后,不断实践和阅读高质量的代码是提升C语言...