我对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