Objective-C初探-scanf 键盘输入

来源:互联网 发布:淘宝哪家药店是正规 编辑:程序博客网 时间:2024/06/07 07:17
我们现在将使用scanf 例程来创建一个更加智能的三角数计算程序,它会询问用户要计算哪个三角数。下面是范例 5-4:

01 #import <Foundation/Foundation.h>
02 
03 int main (int argc, const char * argv[])
04 {
05     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
06     int n, number, triangularNumber;
07     
08     NSLog(@"What triangular number do you want?");
09     scanf("%i", &number);
10     
11     triangularNumber = 0;
12     
13     for ( n = 1; n <= number; ++n )
14         triangularNumber += n;
15     
16     NSLog(@"Triangular number %i is %i\n", number, triangularNumber);
17     
18     [pool drain];
19     return 0;
20 }

在后面的程序输出中,用户键盘键入数字 (100) 用黑体表示,以便和由程序显示的输出相区别:

2011-04-29 11:14:38.423 0504Scanf[575:903] What triangular number do you want?

100

2011-04-29 11:15:43.868 0504Scanf[575:903] Triangular number 100 is 5050


用户键入了数字 100,程序马上计算出它的结果是 5050,并显示在终端上。

需要注意的是,scanf 的第一个参数是格式字符串,它不以 @ 字符开头。

NSLog 的第一个参数始终是 NSString,而 scanf 的第一个参数是 C 风格的字符串。所以不加 @ 字符。格式字符串告知 scanf 要从控制台读入的值类型。和 NSLog 一样,%i 字符用于指定整型值。

scanf 例程的第二个参数用于指定用户键入的值存储在哪里。在这种情况下,变量 number 之前的 & 字符是必须的运算符。

开发者Mike在 CSDN 上传的 Objective-C 源代码