由于a是实型变量,C程序中允许赋值a=10,因此实型变量允许存放整型?为什么是错的?

日期:2013-06-30 16:19:10 人气:3

由于a是实型变量,C程序中允许赋值a=10,因此实型变量允许存放整型?为什么是错的?

计算机每一个存储单元存放什么值都是无所谓的,关键是编译器怎么对待它们。 C编译器对待实型数据都是以浮点数来处理的,所以,它会为声明/定义为实型的变量产生一个以浮点运算为主的机器代码,所以,什么类型的变量都能随便放,不过编译器会不会让你成功表示你想表示的意义就是不确定的了。 例如:char a; a=1;和a=‘1’;的区别还明显吧,一个用整形字面值赋值,编译器会自动用ascii进行编码,再赋值、另一个用字符字面值来赋值,编译器直接就用ascii码了。 再例如;float a; a=3.0;和
    A+
热门评论