额,入门级的,收集我在学这本书时犯的一些小问题,和一些容易被忽略的东西。
同时对发明出笔记本触摸板的那位前辈表示鄙视之情。
鄙人比较笨以前犯的问题比较多,我整理的比较慢。。。。。。。。。。。
我会在复习c primer plus的同时完成,同时为下一步深入学习C语言和学习数据结构做准备
第4章
1、
printf()把%f,%e,%E,%g,%G.同时用于float类型和double类型
而scanf()只把它们用于float类型,而用于double类型时要求使用“l”(L)修饰符
78页页尾
、
scanf最大字段宽度可限制输入
scanf修饰符: digit(s)最大字段宽度;在达到最大字段宽度或者遇到第一个空白字符时(不管哪一个先发生都一样)
停止对输入项的读取
示例:“%10s”
79页 表4.7 页中
3、
在scanf中*提示截然不同的服务。当把它放在%和说明符字母之间时它使函数跳过相应的输入
项目。程序清单4.17提供了一个示例。
/* skip2.c -- 跳过输入的头两个整数 */ #include <stdio.h> int main (void) { int n; printf ("Please enter three integers: \n"); scanf ("%*d %*d %d", &n); printf ("The last integer was %d\n", n); return 0; }
输出
Please enter three integers
2004 2005 2006
The last integer was 2006
82页首
4、
在两个转换说明符之间放一个空白字符,可以确保即使一个数字溢出了自己的字段,它也不会闯入下一个数字一起输出。
这是因为控制字符串中的常规字符(包括空格)会被打印出来。
82页 页尾偏上