A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

imdarling0213

初级黑马

  • 黑马币:0

  • 帖子:7

  • 精华:0

© imdarling0213 初级黑马   /  2012-7-23 23:36  /  1626 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(var1%var2)/var3    和   var1%(var2/var3)  运算结果一样嘛 ? 请详细点· · · 谢谢   解释下。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 刘建素 于 2012-7-23 23:51 编辑

结果肯定不一样 根据运算符优先级的话  都是先计算括号里边儿的  第一是求var1%var2的余数 然后再除以3 第二个是 先计算 var2除以var3的 然后再用 var1与其余数  这样出来结果肯定不一样  举例说明:
int var1 = 3;
            int var2 = 14;
            int var3 = 6;
            int count1 = (var1%var2)/var3;
            int count2 = var1 % (var2 / var3);
            Console.WriteLine("结果1为:"+count1+"结果2为:"+count2);
            Console.ReadKey();

输出为 count1为0,count2为1

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
int var1=100;
int var2=21;
int var3=6;
1,  (var1%var2)/var3     //输出:4
2,    var1%(var2/var3)     //输出:1
3,    var1 = var2 / var3;  //var1是var2除以var3所得的值
4,    var1 = var2 % var3;//var1是var2除以var3所得的余数

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
看得出来楼主是以为初学者,其实这两个表达式很好理解,我们把它看成数学表达式,这里我用a,b,c来表示上面的三个变量
(var1%var2)/var3  就表示a和b相除取余数然后再和c相除得到结果1
var1%(var2/var3) 就表示b和c相除取商,然后再将a与商进行相除取余得结果2,显然不相等
希望楼主学习更上一层楼

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
优先级 类别 运算符
1 基本 (x)     x.y        f(x)      a[x]       x++       x――
new      typeof     sizeof       checked     unchecked  
2 单目 +    -    ! ~ ++x      ――x      (T)x
3 乘法与除法 *       /       %
4 加法与减法 +        -
5 移位运算 ≤      ≥
6 关系运算 ﹤       >       <=       >=    is
7 条件等 = =        ! =
8 位逻辑与 &
9 位逻辑异或 ^
10 位逻辑或 |
11 条件与 &&
12 条件或 ‖
13 条件 ?:
14 赋值 =       *=       /=      %=     +=    -=     <<=    >>=     &=   ^=     |=

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
带数字进去计算,%表示两数相除取余数, /表示两数相除,取商

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
我也说 不一样嘛  ·    C#入门经典 第五版 难道出错了  !  需要 我去网上咨询下的 · · · 呼呼。 谢谢各位了
回复 使用道具 举报
王辉 中级黑马 2012-7-26 07:48:24
8#
当然不一样了,这里涉及到运算符的优先级,
“(var1%var2)/var3”先运算“(var1%var2)”别名设为“表达式一”再运算“表达式一/var3”;
“var1%(var2/var3)”先运算“(var2/var3)”别名设为“表达式二”再运算“var1%表达式二”。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马