@存在913578307c程序设计 第三版
1.3 C语言版本
目前最流行的C语言有以下几种:
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C
·AT&T C
这些都不是C语言的版本
这些是C语言的实现
简直贻笑大方
========================================
3.8.2 算术运算符和算术表达式
.....优先级较高的先于优先级较低的进行运算 ... 优先级相同时,则按运算符的结合性所规定的结合方向处理...
错了 举个例子
a+b && c*d
这里 c*d 优先级高于 + 高于&&
但是 结果是a+b 先算
=========================================
【例 3.17】
...对P=(i++)+(i++)+(i++)应理解为三个 i 相加,故 P 值为 15...
q=(++j)+(++j)+(++j)应理解为 q先自增 1,再参与运算,由于q自增1三次后值为8,三个 8 相加的和为 24......
全部错 这是未定义行为
P的值未必是15
q的值未必是24
这个属于表达式里面的一个很重要的内容
===========================================
3.11.2基本类型的分类及特点
字符型 char 1 C 字符集
基本整型 int 2 -32768~32767
短整型short int 2 -32768~32767
长整型 long int 4 -214783648~214783647
无符号型 unsigned 2 0~65535
无符号长整型 unsigned long 4 0~4294967295
单精度实型 float 4 3/4E-38~3/4E+38
双精度实型 double 8 1/7E-308~1/7E+308
后面2项 分别表示
字节 数值范围
出了 char 是 1 字节是对的之外
其他的基本都错了
具体多少个字节依赖具体编译器
绝不是张口就来的2字节 4字节
========================================
数组元素的一般形式为:
数组名[下标]
其中下标只能为整型常量或整型表达式。如为小数时,C 编译将自动取整
自动取整?
随手贴一条错误提示
[Error] error: array subscript is not an integer
会自动取整怎么还会Error呢 费解?