有关此功能很奇怪的行为很奇怪的问题,有关的NSString
void* getNSString(const NSString* str){
str = @"This is new test";
//NSString* str1 = @"so strange test";
return;
}
然后
NSLog(@"%@",getNSString(@"test"));
其结果将是
This is new test
如果取消注释
NSString* str1 = @"so strange test";
我的理解是什么都没有返回,所以应该是NULL,为什么要打印出那些字符串?
那么结果将是
so strange test
绝对正确的。你也应该得到一个关于这个的编译器警告。 – 2010-12-21 08:01:27
经过反思,您可能想要添加到此答案的一件事是** undefined **完全不同** ** nothing **。指定返回的函数将始终返回一些内容。根据结构,它有时可能是'无',但即使'无'也是。 – 2010-12-21 18:54:16