数据类型

来源:互联网 发布:手机淘宝店收藏按钮 编辑:程序博客网 时间:2024/06/14 08:36

1、超出范围

main()
{
unsigned short a=65536 ;
int b ;
printf(""%d\n"",b=a) ;
}"
答案;0

unsigned short类型最大值为0xffff,也就是十进制的65535。再加1的话(65536)就溢出变成0了。这时a已经是0了,赋给b后再打印b,值自然也为0。



2、不同数据类型的转换

(1)浮点型和整型

18/5=3.6,因为浮点类型到int类型要向零取整,结果为3.

(2)字符型和整型
  • p[i][j]-'0' 在C语言的作用是把char行数字转化为int型,所以直接使用6,3,8,5运算,而不是其对应的ASC码值。同理,如果p[i][j]是int型,可以使用p[i][j]+'0'将int型转化为char型。

3、双精度浮点型double

  • 使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.7* 10的308次方 到 +1.7* 10的308次方
(1)无法实现整数的按位与、或、异或运算
(2)

4、枚举类型


  • 如果是函数外定义那么是0
    如果是函数内定义,那么是随机值,因为没有初始化 

0 0