Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 不确定我的编译错误:控件到达非void函数的末尾_C - Fatal编程技术网

C 不确定我的编译错误:控件到达非void函数的末尾

C 不确定我的编译错误:控件到达非void函数的末尾,c,C,当我尝试向我的教授提交代码时,我得到一个编译错误,消息如下: ipc_ms1.c:在函数“getDbl”中: ipc_ms1.c:146:1:警告:控件到达非无效函数的末尾[-Wreturn类型] ipc_ms1.c:在函数“getInt”中: ipc_ms1.c:122:1:警告:控件到达非无效函数的末尾[-Wreturn type] 我不知道该怎么办 #include <stdio.h> void welcome(void); int getInt(void); double

当我尝试向我的教授提交代码时,我得到一个编译错误,消息如下:

ipc_ms1.c:在函数“getDbl”中: ipc_ms1.c:146:1:警告:控件到达非无效函数的末尾[-Wreturn类型] ipc_ms1.c:在函数“getInt”中: ipc_ms1.c:122:1:警告:控件到达非无效函数的末尾[-Wreturn type]

我不知道该怎么办

#include <stdio.h>

void welcome(void);
int getInt(void);
double getDbl(void);
void prnTitle(void);
void prnFooter(double gTotal);
void pause(void);
double getDblLimited(double lowerLimit, double upperLimit);

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

}

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

}
void prnFooter(double gTotal)
{
printf("--------------------------------------------------------+-----------  ------\n");
//float  gTotal = 1234.57;
while (gTotal > 0)
{
    printf("%12.21f", gTotal);
}
}
void clrKyb(void)
{
char b;
while (b != '\n')
{
    scanf("%c", &b);
}

}
 void pause(void)
{
printf("Press <Enter> to continue...");

clrKyb();

}
int getInt(void)
{
printf("Enter an interger:");
int d;
char c;
scanf("%d%c", &d, &c);
while (c != '\n')
{
    printf("Invalid integer, please try again ");
    scanf("%d%c", &d, &c);
}
}
int getIntLimited(int lowerLimit, int upperLimit)
{
int a;
printf("Enter an integer between %d and %d:", lowerLimit, upperLimit);
scanf("%d", &a);
while (a <= lowerLimit || a >= upperLimit)
{
    printf("Invalid value, %d < value < %d:", lowerLimit, upperLimit);
    scanf("%d", &a);
}
return a;
}
double getDbl(void)
{
double d;
char c;
printf("Enter a floating point number:");
scanf("%lf,%c", &d, &c);
while (c != '\n')
{
    printf("Invalid number, please try again ");
    scanf("%lf%c", &d, &c);
}

}

double getDblLimited(double lowerLimit, double upperLimit)
{
double a;
printf("Enter a floating point number between %f and %f:", lowerLimit,   upperLimit);
scanf("%lf", &a);
while (a <= lowerLimit || a >= upperLimit)
{
    printf("Invalid value, %f < value < %f:", lowerLimit, upperLimit);
    scanf("%lf", &a);
}
return a;
return 0;
}
#包括
欢迎无效(无效);
int getInt(void);
双getDbl(void);
无效文件(无效);
无效价格(双倍总价格);
无效暂停(void);
双getDblLimited(双下限,双上限);
欢迎无效(无效)
{
printf(“--==杂货库存系统===-\n”);
}
作废文件(作废)
{
printf(“行| SKU |名称\t |价格|征税|数量|最小|总计| Atn\n”);
printf(“---+---+----+----+----+----+----+----+----+----+----\n”);
}
无效prnFooter(双倍总)
{
printf(“---------------------------------------------------------------+-------------\n”);
//浮球总重量=1234.57;
而(G总计>0)
{
printf(“%12.21f”,g总计);
}
}
无效clrKyb(无效)
{
字符b;
而(b!='\n')
{
scanf(“%c”和“b”);
}
}
作废暂停(作废)
{
printf(“按继续…”);
clrKyb();
}
int getInt(无效)
{
printf(“输入整数:”);
int d;
字符c;
scanf(“%d%c”、&d和&c);
而(c!='\n')
{
printf(“无效整数,请重试”);
scanf(“%d%c”、&d和&c);
}
}
int getIntLimited(int下限,int上限)
{
INTA;
printf(“输入一个介于%d和%d之间的整数:”,下限,上限);
scanf(“%d”和“&a”);
while(a=上限)
{
printf(“无效值,%d<值<%d:”,下限,上限);
scanf(“%d”和“&a”);
}
返回a;
}
双getDbl(void)
{
双d;
字符c;
printf(“输入浮点数:”);
扫描频率(“%lf,%c”、&d和&c);
而(c!='\n')
{
printf(“无效号码,请重试”);
scanf(“%lf%c”、&d和&c);
}
}
双getDblLimited(双下限,双上限)
{
双a;
printf(“输入介于%f和%f之间的浮点数:”,下限,上限);
scanf(“%lf”、&a);
while(a=上限)
{
printf(“无效值,%f<值<%f:”,下限,上限);
scanf(“%lf”、&a);
}
返回a;
返回0;
}

您忘记了
返回
getDbl
中的任何内容,这些只是警告;表示函数
getDbl
在实现结束时没有返回任何内容。但这表明你并不真正知道自己在做什么。听从乔纳森的建议和建议

我将解释警告:

由于它声明了
double()
,这意味着您需要在末尾添加
return
语句:

getDbl
getInt

(并查看如何)

where's
main
function??这是一个由6部分组成的项目,在提交的这部分内容中,我们被告知不要包含主要功能,请(doc-)评论并正确格式化您的源代码。不要编写也不要呈现未注释的代码。想一想为什么它不抱怨
intgetint(void)
(或者它真的抱怨了吗?
double-getDblLimited()
?)。(应该避免重复的
scanf()。您将获得积分,并鼓励其他人帮助您。我将如何返回它您的代码已经演示了如何从函数返回值。我不知道代码的要求(特别是为什么要扫描两个值),所以我无法告诉您要编写什么。这是您的代码;getInt()也有类似的问题。这到底有什么用?你需要读一本关于C的书,或者问问你的导师。不存在堆栈溢出来教授编程基础知识。
double getDbl(void) {
  double d;
  char c;
  printf("Enter a floating point number:");
  scanf("%lf,%c", &d, &c);
  while (c != '\n') {
    printf("Invalid number, please try again ");
    scanf("%lf%c", &d, &c);
  }
  return d;
}
int getInt(void) {
  printf("Enter an interger:");
  int d;
  char c;
  scanf("%d%c", &d, &c);
  while (c != '\n') {
    printf("Invalid integer, please try again ");
    scanf("%d%c", &d, &c);
  }
  return d;
}