2

这段看似微不足道的代码是从教科书中复制的,但在 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 函数时才存在。

4

1 回答 1

8

由于程序需要输入一个整数值,所以我在键盘上(在数字键盘上)按下了“Enter”键。scanf 方法在按下“Return”键后终止用户输入。尽管它们通常都被称为“Enter”键,但它们在这种情况下的行为非常不同。

此外,如果您想使用“Enter”键,您可以在输入的末尾添加一个正斜杠,然后按“Enter”,这将返回与“Return”键相同的结果。

傻我。

于 2013-10-01T07:12:58.473 回答