需要帮助了解如何从此函数获取返回值

问题描述 投票:0回答:1

我正在尝试使用此函数,要求用户输入(以美分为单位),然后将该值传递到函数外部。

int get_cents()
{
    int change;

    do
    {
        change = get_int("How many cents?\n");
    }
    while (change <= 0);
    
    printf("%d", change);
    return (change);
}

我将 printf 语句放在那里来检查变量更改确实被分配了用户输入的值,但是当我尝试返回它时(无论是 return 0 还是 return (变量名) 并尝试将其传递回来对于这个变量:

int cents = get_cents();

结果总是0。为什么?

c return return-value
1个回答
0
投票

在这里,您不需要使用 get_int 函数。 C 库中确实存在函数。该函数称为 scanf,属于 stdio 库。

程序的基本代码,会询问美分并获取用户输入的数字:

int get_int(int cents)
{
    printf("How many cents?\n");
    scanf("%d", &cents);
    return cents;
}

之后你基本上可以创建一个主函数来显示用户拥有的美分数(不要忘记声明一个变量来保存上一个函数的返回值)

int main(void)
{
    int cents = 0;
    
    while (cents <= 0)
        get_cents(cents);

    printf("You entered %d cents.\n", cents);
    
    return 0;
}

这段代码应该可以工作,如果解释不好,抱歉,这实际上是我第一次在SO上发帖。

© www.soinside.com 2019 - 2024. All rights reserved.