首页 新闻 会员 周边 捐助

C#中为什么100-200=100?

0
[待解决问题]

int a = 100;
int b = 200;
a = a + b;
b = a - b;
Console.WriteLine("a="+a+ ";b="+b);
Console.ReadLine();

输出a=300;b=100
为什么不是-100?,如果是b=b-a;输出-100,这是怎么算的?

C#
会飞的雨smile的主页 会飞的雨smile | 菜鸟二级 | 园豆:202
提问于:2019-12-11 11:12
< >
分享
所有回答(5)
0

a=a+b;
//此时a=100+200=300,b=200
b=a-b;
//此时a=300,b=300-200=100
如果是b=b-a
b=200-300=-100;
不要拿数学方程的表等于的‘=’和代码里的赋值符号‘=’搞混了
代码里= 是把右边表达式的值计算出来赋值给左边

彭小立 | 园豆:634 (小虾三级) | 2019-12-11 11:42

谢谢,我算错了,a已经变成了300,不是100了,我拿100的去算肯定出错。

支持(0) 反对(0) 会飞的雨smile | 园豆:202 (菜鸟二级) | 2019-12-11 12:33
0

int a = 100; //初始值a=100
int b = 200; //初始值b=200
a = a + b; //操作后a=100+200=300
b = a - b; //操作后b=300+200=100
//b = b - a; //如果上面这行换成这样 b=200-300=-100
Console.WriteLine("a="+a+ ";b="+b); //这里的a=300 b=100
Console.ReadLine();

风浪 | 园豆:2996 (老鸟四级) | 2019-12-11 11:45

感谢

支持(0) 反对(0) 会飞的雨smile | 园豆:202 (菜鸟二级) | 2019-12-11 12:34
0

小兄弟加油

猝不及防 | 园豆:2878 (老鸟四级) | 2019-12-11 18:23
0

运算符是有优先级的,兄弟建议看点基础的书,基础不够扎实

蛇啊蛇皮龙 | 园豆:202 (菜鸟二级) | 2019-12-12 20:54
0

这是一个数学问题。。。

刘下来 | 园豆:919 (小虾三级) | 2019-12-13 12:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册