gpt4 book ai didi

c - 随机猜谜游戏(整数)- 输入字符串时出现错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:39 25 4
gpt4 key购买 nike

我正在制作一个典型的猜谜游戏来学习 C,这是我生命中的第一次,我发现了一个错误。如果您输入一个整数,您将得到 Guess a higher valueGuess a lower value 并且效果很好。但是如果你输入一个字符串,它就会变得疯狂并打印出很多字符串,说 Guess a higher value

  1. 我现在想做的是检查用户是否输入字符串,它会告诉用户类似Enter a number, not text。我该怎么做?

  2. 您看到我可以在此代码中改进什么吗?

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main () {

    int secret, answer;

    srand((unsigned)time(NULL));

    secret = rand() % 10 + 1;

    do {
    printf ("Guess a number between 1 and 10");
    scanf ("%d",&answer);
    if (secret<answer) puts ("Guess a higher value");
    else if (secret>answer) puts ("Guess a lower value");
    } while (secret!=answer);

    puts ("Congratz!");
    return 0;
    }

最佳答案

您忽略了 scanf 的返回值,它会告诉您转换是否成功。 scanf 将返回分配的项目数,因此如果它返回 1,您就知道 answer 已分配给一个数字。如果它返回 0,您就知道出了点问题。

关于c - 随机猜谜游戏(整数)- 输入字符串时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com