输出(c)用于编写函数

时间:2017-12-05 15:05:19

标签: c function cs50

#include <stdio.h>
#include <cs50.h>

float euro (float usd);

int main (void)
{
    float usd = 1.00;
    do
    {
        printf("How many USD you got?\n");
        usd = get_float();
    }
    while(usd < 0);
    {
    printf("enter something greater than zero please!\n");
    }


}

float euro (float usd)
{

    float d = usd * 0.84;

    return(d);
}

这是我的代码。我试着编写一个将美元兑换成欧元的函数,然后可以回想起函数,但我感到困惑,现在无论每个输出是什么,“请输入大于零的东西!”

1 个答案:

答案 0 :(得分:1)

您的while未与其下方的printf分组,但上方有do

让我们重新格式化以使区别更清晰:

do
{
    printf("How many USD you got?\n");
    usd = get_float();
} while(usd < 0);

{
    printf("enter something greater than zero please!\n");
}

do..while循环继续,直到您输入正值。之后,您有一个始终运行的块。

您可能希望在循环中放置if检查以查看是否应该打印错误消息:

do
{
    printf("How many USD you got?\n");
    usd = get_float();
    if (usd < 0) {
        printf("enter something greater than zero please!\n");
    }
} while(usd < 0);