我的代码:
#import <Foundation/Foundation.h>
-(NSString *) Fibonacci:(int) number{
//Fibonacci Calculations
}
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Fibonacci Output: %@", Fibonacci(5));
[pool drain];
return 0;
}
我对Objective-C世界很新,因此无法完成上述工作。 面对以下错误:
错误(S): source_file.m:5:1:错误:方法定义不在@implementation上下文中 - (NSString *)lastdigitsFibonacci:(int)number { ^ source_file.m:6:被先前的错误搞糊涂,拯救
对此有任何帮助将深表感谢。感谢
答案 0 :(得分:1)
正如@Larme所说, Fibonacci(5)似乎就像一个函数。 - (NSString *)Fibonacci:(int)数字似乎就像一种方法。
因此,要调用Fibonacci(5)
,您应该将-(NSString *) Fibonacci:(int) number
重写为函数。
NSString* Fibonacci(int number) {
int t1 = 0;
int t2 = number > 1 ? 1 : 0;
int tmp;
for (int i = 3; i <= number; i++) {
tmp = t2;
t2 += t1;
t1 = tmp;
}
return [NSString stringWithFormat:@"%lu", t2];
}
int main(int argc, char* argv[]) {
@autoreleasepool {
NSLog(@"%@", Fibonacci(999));
}
}
答案 1 :(得分:1)
#import <Foundation/Foundation.h>
NSString* Fibonacci(int number) ;
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Fibonacci Output: %@", Fibonacci(5));
}
return 0;
}
NSString* Fibonacci(int number)
{
//Fibonacci Calculations and return
}