目录 1
第Ⅰ部分 程序 1
第1章 入门 1
1.1 程序1:HelloWorld 2
1.2 程序2:老师的问题 3
1.3 程序3:清晨的惊奇 5
第2章 初级错误 8
2.1 程序4:典型的初始化问题 8
2.2 程序5:早期错误 9
2.3 程序6:必须为程序保留“空间” 10
2.4 程序7:错误的平方 11
2.5 程序8:“疯狂”的字符 12
2.6 程序9:注释的问题 13
2.7 程序10:蹩脚的除法运算 14
2.8 程序11:画蛇添足 15
2.9 程序12:加快和等待 16
2.10 程序13:问题程序 18
2.11 程序14:移位程序 19
2.12 程序15:没有任何单词是关键字 20
2.13 程序16:事半功倍 22
第3章 字符的奇迹 24
3.1 程序17:又一个HelloWorld程序 24
3.2 程序18:典型错误 25
3.3 程序19:检查质数 26
3.4 程序20:比设想的情况更简单 27
3.5 程序21:错误的注释 28
3.6 程序22:参数的取值范围过大 29
3.7 程序23:计算字符个数 30
3.8 程序24:过于简单的除法 32
3.9 程序25:最大值的惊奇 33
3.10 程序26:问题区域 34
4.1 程序27:and和andand 36
第4章 常见的问题 36
4.2 程序28:关于零的错误 37
4.3 程序29:低级错误 38
4.4 程序30:关于位的小故障 39
4.5 程序31:数字太小 40
4.6 程序32:重复的问题 41
4.7 程序33:错误的输出 42
4.8 程序34:未考虑分制 43
4.9 程序35:输出一百万 46
4.10 程序36:超出堆栈空间 47
4.11 程序37:程序的故障点 49
4.12 程序38:奇偶测试 51
4.13 程序39:幼儿园算术修订版 52
4.14 程序40:难以置信的精确性 53
4.15 程序41:关于位的小错误 55
4.16 程序42:关于位的另一个故障 56
4.17 程序43:丢失基类函数 57
4.18 程序44:排序问题 59
4.19 程序45:三个数的惊奇 61
4.20 程序46:一切正常吗 62
4.21 程序47:Microsoft的缺陷 64
4.22 程序48:文件错误 66
4.23 程序49:容易中断的链接 68
4.24 程序50:何谓真理 71
4.25 程序51:递增问题 72
4.26 程序52:消失的矩形 74
4.27 程序53:最大值混乱 76
4.28 程序54:从深层开始 77
4.29 程序55:羊群计数程序 79
4.30 程序56:程序的魔法失效 80
4.31 程序57:无法读取文件 83
4.32 程序58:奇怪的文件名之一 84
4.33 程序59:奇怪的文件名之二 85
4.34 程序60:奇怪的文件名之三 87
4.35 程序61:慢吞吞的字典 88
4.36 程序62:邮政编码问题 94
第5章 C语言代码bug 96
5.1 程序63:姓名游戏 96
5.2 程序64:别样的π 97
5.3 程序65:临时文件混乱 98
5.4 程序66:丢失缓冲 99
5.5 程序67:捉迷藏 100
5.6 程序68:误算 101
5.7 程序69:求和问题 103
5.8 程序70:太简单的2 104
5.9 程序71:不能同步 105
5.10 程序72:无边的字符 107
6.1 程序73:不是指针类型 109
第6章 预处理错误 109
6.2 程序74:总计错误 110
6.3 程序75:快速退出 111
6.4 程序76:“翻倍”的麻烦 112
6.5 程序77:没有value 113
6.6 程序78:边距错误 114
6.7 程序79:平方错误 115
6.8 程序80:面积剧增 116
第7章 没有类的类 118
7.1 程序81:感谢内存 118
7.2 程序82:数组消失的情形 120
7.3 程序83:疯狂的输出 122
7.4 程序84:构造函数 123
7.5 程序85:超长队列 124
7.6 程序86:缺乏自我保护 128
7.7 程序87:另类异常 131
7.8 程序88:文件输出错误 135
7.9 程序89:徒劳无功 137
7.10 程序90:像输出日志一样简单 140
7.11 程序91:堆栈错误 142
7.12 程序92:文件名游戏 146
7.13 程序93:没有魔术 147
7.14 程序94:速度杀手 150
7.15 程序95:发送错误消息 157
7.16 程序96:有趣的事情 158
第8章 专家的迷惑 162
8.1 程序97:再现Hello 162
8.2 程序98:控制调试器 163
8.3 程序99:幻影文件 164
第9章 地狱之门 165
9.1 程序100:失落的Rio 165
9.2 程序101:无返回指针 167
9.3 程序102:邮政编码问题 168
第10章 几个工作程序 170
10.1 程序103:快速交换 170
10.2 程序104:没什么可奇怪的 170
10.3 程序105:变动的flag 172
第11章 可怕的线程和嵌入式程序 173
11.1 程序106:清除缓冲区垃圾 173
11.2 程序107:更好的垃圾收集器 174
11.3 程序108:短时延之一 175
11.4 程序109:短时延之二 176
11.5 程序110:短时延之三 177
11.6 程序111:读写冲突 178
11.7 程序112:运行与等待 181
11.8 程序113:浮动的标记 184
11.9 程序114:缓慢的进展 187
第Ⅱ部分 提示 191
第Ⅲ部分 答案 227