为了账号安全,请及时绑定邮箱和手机立即绑定

自动类型转换中的 = 号两边的变量的位置可以互换吗?

像例子中的 char c=a;   int x;   double d;   x=c; d=x;可以写成c=x;  x=d;吗??

(以上因为懒,没换行)感觉是大盒子放小盒子里了= =!

是不是不可以用数学的=来理解啊??

如果位置不可换,可以理解为 char < int < double 吗?

正在回答

1 回答

c语言中自动类型转换的顺序为:

 当一个低精度的数据类型和一个高精度的数据类型运算时,运算结果为高精度类型。 

      char->int->unsigned->long->double

      float->double

从低级到高级转换;

题中的赋值语句x=c; d=x;表示的含义是将c的值赋值给x,再将x的值赋值给d;(char->int->double)

而c=x;x=d;表示的是将x的值赋值给c,再将d的值赋值给x;(int->char;double->int)这个是错误的,不符合c语言自动类型转换的顺序。



0 回复 有任何疑惑可以回复我~
#1

某年某月某日1 提问者

非常感谢!
2016-04-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

自动类型转换中的 = 号两边的变量的位置可以互换吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信