永发信息网

C语言中 一个变量经过强制类型转换后的值会保存到其存储单元里吗;

答案:4  悬赏:0  手机版
解决时间 2021-02-15 10:21
  • 提问者网友:你给我的爱
  • 2021-02-14 20:47
有点迷茫。还有个问题:a+=100成立,那a/=100成立吗?
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-02-14 21:19
变量 只有通过赋值 才能改变 它的 值。 没有 重新 赋值,它的值是 不会 变化 的。
例如 int a = 123; double b = (double) a;
那末, a 的值 还是 整型 123。 b 的值 是 double 型 123.0;
---------------------------------------------------------
a+=100 就是 a = a + 100; 也就是 a 的新值 = a 的老值 + 100;
a/=100 就是 a = a / 100; 也就是 a 的新值 = a 的老值 / 100;
这两个计算都成立。
全部回答
  • 1楼网友:玩世
  • 2021-02-15 00:48
不会保存在存储单元里 a+=100成立,那a/=100成立吗? 也成立 加减乘除都可以这样连着写
  • 2楼网友:詩光轨車
  • 2021-02-14 23:48
强制类型转换只是给编译器看的,编译器一般要求参与操作的元素符合指定的类型,用强制类型转换只是告诉编译器访问这个变量的方式,并不改变这个变量的值。 +和/虽然都是数学操作符,但还是有些区别,/只能用于整型,而+没有这个限制。所以如果a是整型,a/=100成立。
  • 3楼网友:玩家
  • 2021-02-14 22:36
强制类型转换只在转换的当时有效,比如s=(float) i ,只在这个赋值表达式中有效,以后的i还是个整型值。 =是赋值运算,==是比较运算,比如a = b,表示把b的值赋给a,结构表达式的值是赋值后a的值;而a == b,是判断a和b的值是否相等,若相等则整个表达式的值为1,否则为0.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯