A.6 第6章

1.2, 7, 70, 64, 8, 2

2.它会产生以下输出:

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

36 18 9 4 2 1

如果value是double类型,那么value变得小于1时判断条件仍会保持为真。循环会一直执行,直到由于浮点数下溢而产生0值。另外,此时%3d说明符也是不正确的。

阅读 ‧ 电子书库

5.第4行:应该是list[10]。

第6行:逗号应该为分号。
第6行:i的范围应该是从0到9,而不是从1到10。
第9行:逗号应该为分号。
第9行:>=应该是<=。否则,当i为1时,循环永远不会结束。
第10行:在第9行和第10行之间应该还有一个花括号。一个花括号结束复合语句,另一个结束程序。在这两个花括号之间应该有这样一行代码:return 0;。

下面是一个正确的版本:

阅读 ‧ 电子书库

6.下面是一种方法:

阅读 ‧ 电子书库

7.a.它会产生以下输出:

阅读 ‧ 电子书库

b.它会产生以下输出:

阅读 ‧ 电子书库

8.a.它会产生以下输出:

阅读 ‧ 电子书库

b.它会产生以下输出:
Hp!xftu-!zpvo
c.它会产生以下输出:
Go west, young
d.它会产生以下输出:
Go west, youn

9.我们得到的输出如下:

阅读 ‧ 电子书库

10.a.mint

b.10个元素。
c.类型为double的值。
d.ii是正确的,mint[2]是一个类型为double的值,&mint[2]是它在内存中的位置。

11.因为第一个元素的索引为0,所以循环的范围应该从0到SIZE-1,而不是从1到SIZE。但是这样改变会使第一个元素被赋值为0而不是2。所以要这样重写这个循环:

阅读 ‧ 电子书库

类似地,也应该改变第二个循环的限制条件。另外,应该在数组名后使用数组索引:

阅读 ‧ 电子书库

错误的循环限制条件的一个危险的方面在于程序可以运行,但是因为它把数据放在不正确的地方,所以可能在未来的某个时刻不能运行,这样就形成了一种程序中的定时炸弹。

12.函数应该把返回类型声明为long,并包含一个返回long值的return语句。

13.把num的类型指派为long,这样可以确保运算是long运算而不是int运算。在int为16位的系统上,两个int值相乘的结果在返回之前会被截尾为一个int值,这样就可能丢失数据。

阅读 ‧ 电子书库

14.输出如下:

阅读 ‧ 电子书库