Objective c 对第一个字母使用scanf()

Objective c 对第一个字母使用scanf(),objective-c,scanf,Objective C,Scanf,我有一个命令行,用户输入1个字母,当用户输入超过1个字母时,程序将接收输入的第一个字母。我该怎么做,因为我所做的似乎不适合我: char ans, *d; Sequence *seq = [[Sequence alloc] init]; while (k < 10) { k++; [seq generate]; printf("%i. %s\n\n>>> ", k, [seq.full cStri

我有一个命令行,用户输入1个字母,当用户输入超过1个字母时,程序将接收输入的第一个字母。我该怎么做,因为我所做的似乎不适合我:

    char ans, *d;

    Sequence *seq = [[Sequence alloc] init];

    while (k < 10) {
        k++;
        [seq generate];
        printf("%i. %s\n\n>>> ", k, [seq.full cStringUsingEncoding:NSUTF8StringEncoding]);
        scanf("%c%s", &ans, &d);

        NSString *input = [NSString stringWithFormat:@"%c", ans];
        if (input == seq.answer) {
            correct ++;
        }
    }
char-ans,*d;
序列*seq=[[Sequence alloc]init];
而(k<10){
k++;
[顺序生成];
printf(“%i.%s\n\n>>>”,k,[seq.full cstringusingencode:nsutf8stringencodeding]);
scanf(“%c%s”、&ans和&d);
NSString*input=[NSString stringWithFormat:@“%c”,ans];
如果(输入==顺序答案){
正确的++;
}
}

编辑:我只想澄清“d”变量是用作伪变量的,因此不会注册Enter键。

您是否查看了以了解getch()函数的作用?
请参阅:
它适用于Mac…

如果您只想获取第一个字母,那么使用
getch()
如何
getch()
conio.h
中,我没有,因为我在Mac上。