C陷阱与缺陷笔记

更新时间:2023-05-17 20:04:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

笔记

术语“符号”(token)指的是程序的一个基本组成单元,其作用相当于一个句子中的单

词。

在C语言中,符号之间的空白(包括空格符,制表符或换行符)将被忽略。 赋值运算符的优先级要低于任何一个比较运算符。

C语言中只有一维数组?(说的是本质上);

对于数组结尾之后的下一个元素,取它的地址是合法的。而试图实际读取这个元素的值,

这种做法的结果是未定义。

连接器的输入是一组目标模块和库文件,连接器的输出是一个载入模块。连接器读入目

标模块和库文件,同时生成载入模块。

Toupper() 将所有的小写字母转换为相应的大写字母。

#define T1 struct foo*:

1T1 a,b; ○a被定义为一个指向结构的指针,而b却被定义为一个结构(而不是指针) NULL指针并不指向任何对象,因此,除非是用于赋值或比较运算,出于其他任何目的

的使用NULL指针都是非法的。

在调试时强制不允许对输出进行缓冲,要做到这一点可调用setbuf(stdout, (char*)0); 格式字符串中的每个格式项都由一个%符号打头,后面接一个称为格式码的字符,格式

码指明了格式转换的类型,格式码不一定要紧跟在%符号之后,它们中间可能夹一些可选取字符。

1%d以10进制形式打印一个整数; ○

2%u打印无符号10进制整数; ○

3%o、%x和%X格式项用于打印8进制或16进制的整数; ○

4%c用于打印单个字符; ○

5%s用于打印字符串;如果与%s对应的字符并不是以空字符(’\0’)作为结束标志,○

那么printf函数将不断打印出其后的字符直到内存中某处打到一个空字符。

6%g(去掉该数值尾缀的零或四舍五入,○保留六位有效数字)、%f和%e这3个格式项用于打印浮点值。

7精度修饰符(还有几种是宽度修饰符和标志符详细请参考C陷阱与缺陷P155)包括一○

个小数点,和小数点后面的一串数字如:%.8d;

对于整数格式项%d,%o,%x和%u,精度修饰符指定了打印数字的最少位数。如果

打印的数值并不需要这么多位数的数字则在前面补上0;如:

Printf(“%.2d/%.2d/%.4d\n”, 7,14,1789);

将打印出:07/14/1789

对于%e,%f格式项,精度修饰指定了小数点后应该出现的数字位数。

修饰符:出现在%和后面的格式码之间。

宽度修饰符:出现在%和后面的格式码之间,其作用是指定它所修饰的格式项所应打印

的字符数。

精度修饰符指定的最多能输出几个字符。如:.10

本文来源:https://www.bwwdw.com/article/mp04.html

Top