如何使用if语句结束程序?

时间:2014-02-14 21:20:32

标签: c if-statement

所以这是我正在研究的老虎机项目中的一个功能。而且我想知道有没有办法让它工作,以便在声明“你的学分太低而不能玩”的if语句之后程序结束。我也可以这样做,以便程序再次要求下注,如果下注>信用或下注< 2任何答案赞赏。

slot validate( slot s)
{
    printf ("Your available credit is %f\n", credits);
    if (credits >= 2)
    {
        printf ("How many credits would you like to bet?\n");
        scanf("%f", &s.bet);
        if (s.bet> credits)
        {
            printf("you do not have enough credits for that bet\n");
            printf("your available credits are %f", credits);
        }

        if (s.bet < 2)
        {
            printf("Error! You must bet at least to credits to play!");
        }

        if (credits < 2)
        {
            printf ("your credits are too low to play!");
        }
    }

    return s;
}

2 个答案:

答案 0 :(得分:2)

便宜的答案是调用exit()函数。

但是,exit()不会返回 - 程序会立即退出。因此,validate()函数不会返回其调用者。如果程序需要执行任何清理操作,例如将状态(分数,等等)保存到文件,则会出现此问题。更好的方法是从指示的validate()返回一些值,该值应该是程序应该结束的调用者。您可以通过返回 int 并将slot返回值移动到函数体可以设置的函数参数来完成此操作。然后,调用者可以执行任何需要执行的清理操作,并将控制权返回给调用者,依此类推。

答案 1 :(得分:1)

if (credits < 2)
{
    printf ("your credits are too low to play!");
    exit(EXIT_SUCCESS);    
}