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

由于a是实型变量,C程序中允许赋值a=10,因此实型变量允许存放整型?为什么是错的?
a是实型变量,C语言允许a=10这样赋值,因此实型变量允许存放整型?为什么是错的?跟上句有什么区别?

计算机每一个存储单元存放什么值都是无所谓的,关键是编译器怎么对待它们。
C编译器对待实型数据都是以浮点数来处理的,所以,它会为声明/定义为实型的变量产生一个以浮点运算为主的机器代码,所以,什么类型的变量都能随便放,不过编译器会不会让你成功表示你想表示的意义就是不确定的了。
例如:char a; a=1;和a=‘1’;的区别还明显吧,一个用整形字面值赋值,编译器会自动用ascii进行编码,再赋值、另一个用字符字面值来赋值,编译器直接就用ascii码了。
再例如;float a; a=3.0;和a=1;的区别呢?3.0和1分别是实型字面值和整形字面值,都是存储在存储单元的一个数罢了,对它使用不同的方式可以产生不同的结果,比如,把exe改为bmp,也是可以的,只不过可能是个乱七八糟的东西罢了。

满意请采纳,不满意请追问
温馨提示:内容为网友见解,仅供参考
无其他回答

由于a是实型变量,C程序中允许赋值a=10,因此实型变量允许存放整型?为什么...
C编译器对待实型数据都是以浮点数来处理的,所以,它会为声明\/定义为实型的变量产生一个以浮点运算为主的机器代码,所以,什么类型的变量都能随便放,不过编译器会不会让你成功表示你想表示的意义就是不确定的了。例如:char a; a=1;和a=‘1’;的区别还明显吧,一个用整形字面值赋值,编译器会...

若a是实型变量,C程序中允许赋值a=10,因此实形变量中允许存放整型数.这...
不正确 a=10 其实在存放过程中系统把10转化成实数在存储的

a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放...
“因此可以这样说:实型变量中允许存放整型值。”,这句话逻辑错误。

C语言:a是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许...
因为a是实型变量 实型变量在C语言中用double类型来运算,double类型占用8个字节,而10作为int类型是4个字节,所以把4个字节的东西放到8个字节中,相当于四个人住进了八个人的房间,当然是可以的。但是反过来,把double放到int里就是不行的了。语法上规定实型变量是不能存放整型类型的数据的,整型数据...

若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 这...
实型变量中只能存放实型变量a=10是将10做了隐式转换成实型变量后再存在a中的,只能说是整形和实型可以转换

若a是实型变量,C程序中允许a=10,因此实型变量中允许存在整型数
当然错,允许a=10是因为有自动转型的存在,自动将10转成10.0了

C语言中,实型变量是否可以存放整形数,例如a=10,a为实型变量!!求大神...
实型变量可以存放整数,例如a=10。但在这里不能把a作为整型类型的数据,这是为了避免类型转换之间可能会发生的错误。

1. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )考试求...
1. 在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。(y)2. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。(x)3. 在对数组全部元素赋初值时,不可以省略行数,但能省略列数。(x)4. case语句后如没有break,顺序向下执行。(y)5. 函数的实参...

计算机试题,下列正确的是
以下叙述正确的是 。 A 在C程序中,每行只能写一条语句 B 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C 在C程序中,%是只能用于整数运算的运算符 D 在C程序中,无论是整数还是实数,都能被准确无误地表示 展开  我来答 1...

a是实型变量,c允许进行赋值a=10,是什么意思?
在这里a=10的意思是:把10以实型变量赋值给a。a是实型变量,毋庸置疑,但是仍然可以输入,只不过在输出的时候根据输出值的形式进行决定,如若以%f输出(即单精度float),则应保留7位有效值,为10.00000,若以%lf输出,即(双精度double),则保留15-16位有效数字,对于楼主所提问题,a当然可以赋予...

相似回答