有關此功能很奇怪的行爲很奇怪的問題,有關的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