这段看似简单的代码片段是从教科书中复制出来的,但是在Xcode在scanf()处获取输入后,程序以错误代码-1退出并说“丢失连接”。
#import <Foundation/Foundation.h>
int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]init];
int number;
NSLog(@"Type in your number: ");
scanf("%i", &number);
if (number < 0)
number = -number;
NSLog(@"The absolute value is: %i", number);
[pool drain];
return 0;
}
更新
我从头开始重新安装操作系统。 10.8.5和Xcode 5 - 仍然是同一个问题。安装了Xcode 4.6.3,同样的问题,只是没有错误信息,程序就退出了。
我还在一个新的空白项目中写了一个全新的程序。只有在调用scanf函数时才会出现此问题。
答案 0 :(得分:8)
由于程序需要输入一个整数值,我按下键盘上的“Enter”键(在数字键盘上)。按下“返回”键后,scanf方法终止用户输入。虽然它们通常被称为“输入”键,但它们在这种情况下的表现却截然不同。
此外,如果您想使用“Enter”键,您可以在输入的末尾添加正斜杠,然后按“Enter”,这将返回与“Return”键相同的结果。
傻傻的我。