Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';s在带有scanf的xcode控制台中,何时需要一个数字但输入一个字符?_Xcode_Macos_Console - Fatal编程技术网

什么';s在带有scanf的xcode控制台中,何时需要一个数字但输入一个字符?

什么';s在带有scanf的xcode控制台中,何时需要一个数字但输入一个字符?,xcode,macos,console,Xcode,Macos,Console,xcode 5.0 当我运行以下代码时: void guessNum(){ int answer = 0; int guess = 0; int turn = 0; answer = arc4random() % 100 + 1; while (guess != answer) { turn++; NSLog(@"Guess #%i: Enter a number between 1 and 100", turn);

xcode 5.0 当我运行以下代码时:

void guessNum(){
    int answer = 0;
    int guess = 0;
    int turn = 0;

    answer = arc4random() % 100 + 1;

    while (guess != answer) {
        turn++;

        NSLog(@"Guess #%i: Enter a number between 1 and 100", turn);
        scanf("%i", &guess);

        if (guess > answer) {
            NSLog(@"Lower!");
        }
        else if (guess < answer) {
            NSLog(@"Higher!");
        }
        else {
            NSLog(@"Correct! The answer was %i", answer);
        }
    } // end of while loop

    NSLog(@"It took you %i tries", turn);
}
有什么问题吗?

读取您键入的输入,并且由于您的“
%i
”(整数)格式字符串,希望获取该输入并将其放入一个数字中

如果使用“
%s
”作为格式字符串,则将输入作为C样式的字符数组(如果要从中获取整数值,则必须转换这些字符)

例如,您可以替换此行:

scanf("%i", &guess);
比如说:

char stringToConvert[256]; // if you type more than 256 characters, you'll crash
sscanf("%s",&stringToConvert);
guess = atoi(stringToConvert); // this function converts the string into an integer

如果键入字符“
a
”,.

什么是“将其放入数字”?这个程序应该输入一个并打印答案,为什么它会自动运行呢?
char stringToConvert[256]; // if you type more than 256 characters, you'll crash
sscanf("%s",&stringToConvert);
guess = atoi(stringToConvert); // this function converts the string into an integer