A.4 第4章

1.程序不能正常工作。第一个scanf()语句只是读入您的名而没有读入您的姓,您的姓依然存储在输入“缓冲区”(缓冲区只是一块用来存放输入的临时存储区域)中。当下一个scanf()语句想要读入您的体重时,它从上次读入结束的地方开始,这样就试图把您的姓作为体重来读取。这会使scanf()失败。另一方面,如果您对姓名请求做出像Lasha 144这样的响应,程序会使用144作为您的体重,虽然您是在程序请求体重之前输入144的。

2.a. He sold the painting for $234.50.

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

b. Hi!

(注意:第一个字符是一个字符常量,第二个字符是由一个十进制整数转换而来的,第三个字符是一个八进制字符常量的ASCII表示。)

c.

阅读 ‧ 电子书库

d. Is 1.20e+003 the same as 1201.00?

3.使用\"。示例如下:

阅读 ‧ 电子书库

4.下面是一个正确的版本:

阅读 ‧ 电子书库

5.回忆一下:要打印%,应该使用%%。

阅读 ‧ 电子书库

注意:对于输入,e、f和g可以交换使用。另外,除了%c之外,在转换说明符之间留有空格不会有什么影响。

c.

阅读 ‧ 电子书库

d.

阅读 ‧ 电子书库

e. int value;

阅读 ‧ 电子书库

10.空白字符包括空格、制表符和换行符。C使用空白字符分隔各个语言符号;scanf()使用空白字符分隔相邻的输入项。

11.会发生替换。但不幸的是,预处理器不能区别哪些圆括号应该被替换成花括号,哪些圆括号不应该被替换成花括号。因此:

阅读 ‧ 电子书库