我對Objective C非常陌生,並且正在嘗試編寫一個程序來瀏覽collatz猜想。當我運行程序時,它會在第一次scanf後停止,並提供「EXC_BAD_ACCESS」。這是我的代碼:目標C:爲什麼我會收到「EXC_BAD_ACCESS」?
int original,i;
NSString *PrintFull;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSLog(@"Collatz Conjecture:");
NSLog(@"Print full results?");
scanf("%s",PrintFull);
NSLog(@"What number should we go up to?");
scanf("%d", &original);
while (original <= 100) {
NSLog(@"\n\n%d", original);
i = original;
while (i != 1) {
if (i % 2) {
i = (i*3)+1;
} else {
i = (i/2);
}
if ([PrintFull isEqualToString:@"yes"]) {
NSLog(@"%d",i);
}
}
original++;
}
}
我在做什麼錯在這裏?
它實際上仍然可以在這裏崩潰。使用'scanf(「%80s」,inputBuffer);'會阻止這個。 – joerick 2011-12-28 16:30:32