Sjo*_*ors 3 if-statement objective-c nsarray ios
谁可以给我解释一下这个 ?
if(0 <= -1)
NSLog(@"Thank god");
if([NSArray new].count <= -1)
NSLog(@"What the **** ? %i", [NSArray new].count);
if([[NSArray alloc] init].count <= -1)
NSLog(@"What the **** ? %i", [[NSArray alloc] init].count );
Run Code Online (Sandbox Code Playgroud)
输出是两次What the **** ? 0,我期待没有输出我期望有0作为计数.
如果我将计数放入int或记录它,则输出0(零),但if语句在此处生成true.
问题是您是将无符号整数与有符号整数进行比较.
更多细节.如果将无符号整数与有符号整数进行比较,则有符号整数将被解释为无符号整数.所以你签名的值-1将被解释为4294967295.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |