我遇到了一个非常奇怪的错误。注释掉下面的代码可以让我的程序运行。保持它,给我错误。
在我的函数.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。
答案 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是声明的常量。也许,我也没有真正理解这个问题。遗憾。