1. 当我们把一个非布尔类型的算术值赋给布尔类型时,初始值为Q则结果为false,否则结果为true。
bool b = 20 (b为真)
2. 当我们把一个布尔值赋给非布尔类型时,初始值为false 则结果为0,初始值为true则结果为1。
int i = true (i为1)
3. 当我们把一个浮点数赋给整数类型时,进行了近似处理。结果值将仅保留浮点数中小数点之前的部分。
int i = 3.14 (i为3)
4. 当我们把一个整数值赋给浮点类型时,小数部分记为0。如果该整数所占的空间超过了浮点类型的容量,精度可能有损失。
double pi = 3 (pi为3.0)
5. 当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。
unsigned char c = -1 (c为255) 255 = 256 - 1
6. 当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的(undefined)。此时,程序可能继续工作、可能崩溃,也可能生成垃圾数据。
signed char c = 256 (c为未定义的)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)