C语言:a是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值。这句话什么意思?

[复制链接]
查看11 | 回复4 | 2017-11-25 16:34:46 | 显示全部楼层 |阅读模式
因为a是实型变量实型变量在C语言中用double类型来运算,double类型占用8个字节,而10作为int类型是4个字节,所以把4个字节的东西放到8个字节中,相当于四个人住进了八个人的房间,当然是可以的。但是反过来,把double放到int里就是不行的了。语法上规定实型变量是不能存放整型类型的数据的,整型数据也不能存放实型数据。是为了避免类型转换之间可能会发生的错误。不会的可以Hi我鱼C工作室百度官方团队为您解答...
回复

使用道具 举报

千问 | 2017-11-25 16:34:46 | 显示全部楼层
因为10是整数,也是实数,或者也可以理解成a = 10.0。但在内存中整型和以浮点数形式存储的实数的读取方式是不同的,因此整型的10和实型变量a中存储的10不是一个东西……...
回复

使用道具 举报

千问 | 2017-11-25 16:34:46 | 显示全部楼层
double a=10之所以可以进行是因为编译器对10进行了自动的强制转换从int变为double,并不是在double中存放了int...
回复

使用道具 举报

千问 | 2017-11-25 16:34:46 | 显示全部楼层
内容实质相同,但是存储形式有差异...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行