Objective-C表达式-模运算符

模运算符是由 百分号(%)表示。Mike将通过分析范例4-4来确定这种运算符的工作方式:

01 // The Modulus Operator
02 
03 #import <Foundation/Foundation.h>
04 
05 int main (int argc, const char * argv[]) {
06     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
07     int a = 25, b = 5, c = 10, d = 7;
08     
09     NSLog(@"a %% b = %i", a % b);
10     NSLog(@"a %% c = %i", a % c);
11     NSLog(@"a %% d = %i", a % d);
12     NSLog(@"a / d * d + a %% d = %i", a / d * d + a % d);
13     
14     [pool drain];
15     return 0;
16 }

最终输出结果:

a % b = 0

a % c = 5

a % d = 4

a / d * d + a % d = 25


在4-4中我们将变量的初始化工作在一条语句内一次性完成。

注意Mike之前提到过,NSLog使用百分号之后的字符来确定如何输出下一个参数。然而,如果它后面紧跟另一个百分号,那么NSLog例程认为你其实想显示百分号,并在程序输出的适当位置插入一个百分号。

其实从输出结果我们可以总结出,模运算符%的功能是计算第一个值除以第二个值的余数。前三句都很简单,现在我们把焦点放在最后一个表达式上。之前我们在整数运算中的例子4-3就因为纯整数余数被完全丢弃,现在a模d得到的余数和 a / d *d 相加正好又得到 a 的值。

关于模运算符的优先级,它和乘法除法相同。

最后分享下在CSDN上传的源码  Modulus_Operator
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值