怎么理解”请写出下边每行代码执行后 result 的值“这个问题
double result = 1.0;result += 2.6;
result ++;
result * 5; #include <stdio.h>
int main()
{
double result = 1.0; // 声明 result 是 double 浮点数类型,赋值 1.0
result += 2.6; // 增值 2.6 变成 3.6
result ++; // 自增,如同 +1 变成 4.6
result * 5; // 只有右值 lvalue,没有左值 rvalue,无意义,result 值不变,保持 4.6
printf("%lf", result);
return 0;
} double result = 1.0;//1.0
result += 2.6;//3.6
result ++;//4.6
result * 5;//4.6 jhq999 发表于 2022-2-14 12:13
答案是这个,能说说每一行表示的是什么意思吗,谢谢! 傻眼貓咪 发表于 2022-2-14 13:52
左值右值怎么理解呢? 中新大楼 发表于 2022-2-14 14:06
左值右值怎么理解呢?
等号左边就是左值,等号右边就是右值 中新大楼 发表于 2022-2-14 14:06
左值右值怎么理解呢?
如 6楼 大佬所说的,一般都是等号左边是左值,等号右边是右值。 jhq999 发表于 2022-2-14 14:13
等号左边就是左值,等号右边就是右值
但是那上面写的不是乘号吗,没有等号 中新大楼 发表于 2022-2-14 14:23
但是那上面写的不是乘号吗,没有等号
因为你不能这样写:
result * 5 = result;
你只能这样写:
result = result * 5;
所以 result * 5 是右值
中新大楼 发表于 2022-2-14 14:23
但是那上面写的不是乘号吗,没有等号
所以没有左值,计算机只做了个运算,没有把运算结果赋值给别人,所以没有左值 jhq999 发表于 2022-2-14 14:25
所以没有左值,计算机只做了个运算,没有把运算结果赋值给别人,所以没有左值
哦哦,原来,谢谢大佬 傻眼貓咪 发表于 2022-2-14 14:25
因为你不能这样写:
result * 5 = result;
嗯嗯,明白了,谢谢大佬
页:
[1]