【问题标题】:Please be understanding, I am new to this. Can some please explain the verify function? [closed]请理解,我是新手。有人可以解释一下验证功能吗? [关闭]
【发布时间】:2017-04-21 09:52:08
【问题描述】:
#include <stdio.h>

#define TRUE 1
#define FALSE 0

void limit(int stop)
{
    int x;

    for(x=0;x<=100;x=x+1)
    {
        printf("%d\t",x);
        if(x==stop)
        {
            printf("You Won!\n");
            return;
        }
    }
}

int verify(int check) /*this part*/
{
    if(check<0 || check>100)
    {
        return FALSE;
    }
    return TRUE;
}

int main()
{
    int x;

    printf("Enter a stopping value(1-100): ");
    scanf("%d",&x);
    if(verify(x))/*this part too*/
    {
        limit(x);
    }
    else
    {
        printf("%d is out of range.\n",x);
    }
    return 0;
}

我想知道验证功能是如何工作的。我不知道的部分被评论。验证函数如何验证输入值是否在范围内?验证函数返回 FALSE,当它超出范围时为 0,但它是如何使用的?

【问题讨论】:

  • 你需要和你的助教谈谈或者阅读书中的相关章节。
  • ^^^ 很难想象一个更简单的函数和调用。您需要学习的基础知识比我们在面向专业和狂热程序员的问答网站上合理地教给您的要多。
  • 什么是助教?我知道这是一些丑陋的代码,这里的人很聪明,但请。我真的很想学习。我已经坚持了一个小时。
  • 你不明白什么? || 是逻辑或,&lt; 小于,&gt; 大于。
  • 嗯,它并不丑,真的。只是……好吧……已经很清楚它在做什么了。你不需要很聪明就能理解它,只要多一点经验和知识。

标签: c


【解决方案1】:

如果int 数字小于0,假设-3 超出范围,同样如果数字大于100,假设104 函数将返回false。

假设输入 104 不在指定范围内,verify 函数将获取该数字,检查该数字是低于 0 还是高于 100。在我们的例子中,这个数字高于100,验证函数将返回FALSE

if(verify(x)) 中,您将得到一个错误的 if 语句,因为验证函数返回了该语句。我们将直接转到else 语句并在其中执行代码。

如果您选择范围内的数字,例如33,验证函数将返回TRUE,而main 中的if 语句将为TRUE

【讨论】:

  • 谢谢老兄。我明白。我只是想知道。 FALSE 定义为 0 对吗?如果它返回(0)到 if else 语句,它不应该执行吗?这意味着 0 是“不执行”;
  • 是的,在 C 中没有布尔值,例如 FALSETRUE,但您已将 FALSE 定义为 0 并将 TRUE 定义为 1。 C 中的0 总是意味着假,而不是0 将是真的,在你的情况下1。你也可以写#define TRUE 3,它会产生相同的结果,但 1 更方便。 if 语句中的 0 表示“不要在这个 if 语句中做任何事情”,如果你有一个 else 语句,它将在 else 语句中做任何事情
猜你喜欢
  • 2013-05-21
  • 2019-02-08
  • 2011-02-01
  • 2012-09-22
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多