gpt4 book ai didi

c - 函数中的参数太少

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:49 26 4
gpt4 key购买 nike

我正在编写一个函数 getIntLimited,它只能排除某个最大值和最小值之间的数字。目前没有指定的最大值或最小值,但代码应该仍然有效。但是,我似乎收到一条错误消息,指出函数中的参数太少,但我不确定为什么会这样。这是我的代码:

#include <stdio.h>
#include <stdlib.h>

//tools
void welcome(void);
void printTitle(void);
void printFooter(double gTotal);
void flushKeyboard(void);
void pause(void);
int getInt(void);
double getDouble(void);
int getIntLimited(int lowerLimit, int upperLimit);

//app interface
int yes(void);
void GroceryInventorySystem(void);
int menu(void);

int main(void){
int iVal;
double dVal;
welcome();
printTitle();
double grandtotal = 1234.57;
printFooter(grandtotal);
flushKeyboard();
pause();
getInt();
int lowLimit;
int upLimit;
getIntLimited(int lowLimit, int upLimit);

return 0;
}


//code your functions here:

void welcome(void)
{
printf("---=== Grocery Inventory System ===---");
printf("\n");
return;
}

void printTitle(void)
{
printf("Row |SKU| Name | Price |Taxed| Qty | Min | Total |Atn\n");
printf("----+---+---------------+-------+-----+-----+-----+-------------|---");
printf("\n");
return;
}

void printFooter(double grandTotal)
{
printf("--------------------------------------------------+-----------------");
printf("\n");

if (grandTotal > 0) {
printf(" Grand Total: | %12.2lf", grandTotal);
}
printf("\n");
return;
}


void flushKeyboard(void)
{
int read;

while (( read = getchar()) != '\n')
return;
}

void pause(void)
{
printf("Press <ENTER> to continue...\n");
flushKeyboard();
return;
}

int getInt(void)
{
int Value;
char NL = 'x';

while (NL != '\n') {
scanf("%d%c", &Value, &NL);

if (NL != '\n') {
flushKeyboard();
printf("Invalid integer, please try again: \n");
}
}
return Value;
}

int getIntLimited(int lowerLimit, int upperLimit)
{
int limit;
do {
limit = getInt();

if(lowerLimit > limit || limit > upperLimit) {
printf("Invalid value, %d < %d < %d: ", lowerLimit, limit, upperLimit);
}
}

while(lowerLimit < limit && limit < upperLimit);
return limit;

}

最佳答案

在您的 main 函数中,这不是函数调用:

getIntLimited(int lowLimit, int upLimit);

去掉 int 关键字:

getIntLimited(lowLimit, upLimit);

另请注意,lowLimitupLimit 在传递给 getIntLimited 时并未初始化。读取未初始化的值会调用未定义的行为。

关于c - 函数中的参数太少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43024598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com