在数字常量之前预期';',','或')'?这很奇怪

时间:2017-04-19 18:43:10

标签: c

我遇到了一个非常奇怪的错误。注释掉下面的代码可以让我的程序运行。保持它,给我错误。

在我的函数.c文件中:

int validateArgs(int MIN_INPUT, int MAX_INPUT, int argc)
{
    if ((argc < MIN_INPUT) || (argc > MAX_INPUT))
    {
        printf("Wrong input.");
        return FALSE;
    }
    return TRUE;
}

我在头文件中包含所有常量。

常量为0和9。

2 个答案:

答案 0 :(得分:3)

你的行

int validateArgs(int MIN_INPUT, int MAX_INPUT, int argc)

翻译为

int validateArgs(int 0, int 9, int argc)

因为你的定义不变。这不是正确的C语法,可能不是你想要的。

答案 1 :(得分:-2)

除了返回类型之外,您的validate args方法是可以的。更改为boolean / bool或用于表示C中的真/假值的任何内容。

对不起,我是一名java开发者。

boolean validateArgs(int MIN_INPUT, int MAX_INPUT, int argc)
{
    if ((argc < MIN_INPUT) || (argc > MAX_INPUT))
    {
        printf("%s\n", "Input must be between 1 and 7, inclusive, digits.");
        return FALSE;
    }
    return TRUE;
}

希望你的问题得到解决。

编辑:我不知道MIN_INPUT是声明的常量。也许,我也没有真正理解这个问题。遗憾。