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

来源:2-8 自动类型转换

某年某月某日1

2016-04-27 01:41

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

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

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

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

写回答 关注

1回答

  • qq_曦光__0
    2016-04-27 09:15:58
    已采纳

    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语言自动类型转换的顺序。



    某年某月某日...

    非常感谢!

    2016-04-28 01:30:20

    共 1 条回复 >

C语言入门

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

926211 学习 · 20797 问题

查看课程

相似问题