鱼C论坛

 找回密码
 立即注册
查看: 1048|回复: 11

[已解决]怎么理解”请写出下边每行代码执行后 result 的值“这个问题

[复制链接]
发表于 2022-2-14 12:00:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
double result = 1.0;
result += 2.6;
result ++;
result * 5;
最佳答案
2022-2-14 13:52:29
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         double result = 1.0; // 声明 result 是 double 浮点数类型,赋值 1.0
  5.         result += 2.6; // 增值 2.6 变成 3.6
  6.         result ++; // 自增,如同 +1 变成 4.6
  7.         result * 5; // 只有右值 lvalue,没有左值 rvalue,无意义,result 值不变,保持 4.6
  8.        
  9.         printf("%lf", result);
  10.        
  11.         return 0;
  12. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-14 13:52:29 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         double result = 1.0; // 声明 result 是 double 浮点数类型,赋值 1.0
  5.         result += 2.6; // 增值 2.6 变成 3.6
  6.         result ++; // 自增,如同 +1 变成 4.6
  7.         result * 5; // 只有右值 lvalue,没有左值 rvalue,无意义,result 值不变,保持 4.6
  8.        
  9.         printf("%lf", result);
  10.        
  11.         return 0;
  12. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2022-2-14 12:13:34 | 显示全部楼层
  1. double result = 1.0;//1.0
  2. result += 2.6;//3.6
  3. result ++;//4.6
  4. result * 5;//4.6
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-14 12:30:11 | 显示全部楼层

答案是这个,能说说每一行表示的是什么意思吗,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:06:23 | 显示全部楼层

左值右值怎么理解呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:13:27 | 显示全部楼层
中新大楼 发表于 2022-2-14 14:06
左值右值怎么理解呢?


等号左边就是左值,等号右边就是右值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:22:34 From FishC Mobile | 显示全部楼层
中新大楼 发表于 2022-2-14 14:06
左值右值怎么理解呢?

如 6楼 大佬所说的,一般都是等号左边是左值,等号右边是右值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:23:31 | 显示全部楼层
jhq999 发表于 2022-2-14 14:13
等号左边就是左值,等号右边就是右值

但是那上面写的不是乘号吗,没有等号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:25:46 From FishC Mobile | 显示全部楼层
中新大楼 发表于 2022-2-14 14:23
但是那上面写的不是乘号吗,没有等号

因为你不能这样写:
result * 5 = result;

你只能这样写:
result = result * 5;

所以 result * 5 是右值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:25:53 | 显示全部楼层
中新大楼 发表于 2022-2-14 14:23
但是那上面写的不是乘号吗,没有等号

所以没有左值,计算机只做了个运算,没有把运算结果赋值给别人,所以没有左值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:28:56 | 显示全部楼层
jhq999 发表于 2022-2-14 14:25
所以没有左值,计算机只做了个运算,没有把运算结果赋值给别人,所以没有左值

哦哦,原来,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-14 14:30:02 | 显示全部楼层
傻眼貓咪 发表于 2022-2-14 14:25
因为你不能这样写:
result * 5 = result;

嗯嗯,明白了,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-2 21:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表