我最近浪费了大约半个小时来追踪 NSLog(...) 中的这种奇怪行为:
NSString *text = @"abc";
long long num = 123;
NSLog(@"num=%lld, text=%@",num,text); //(A)
NSLog(@"num=%d, text=%@",num,text); //(B)
行 (A) 打印预期的“num=123, text=abc”,但行 (B) 打印“num=123, text= (null) ”。
显然,打印 a long long
with%d
是一个错误,但有人可以解释为什么它会导致text
打印为 null 吗?