NSUInteger
是无符号整形,即只能大于等于0。
之前以为该类型不能用作负数表示,最小也只能为0,并且为0时做减法后也不会为负数,会保持为0。
然鹅实际开发中,还真的是负数:
NSUInteger
为负数时打印的是乱码,证明了负数已经超出了无符号整形的数值范围,不过使用%zd
来打印的话就能打印准确的负数值:
🌰
本来还想着用NSUInteger
来做一些防误操的业务,防止有小于0的情况,但实际开发中不够安全,还是得手动判断为妙啊。
OC瞅瞅Swift的:
🌰
编译器直接报错。
明明同一个编译器,为何差距那么大~
网友评论