- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
晚上好。我刚开始在大学学习 C,我们的第一个任务是制作一个计算用户 bmi 的程序。对于我的生活,我无法弄清楚为什么我没有得到我想要的结果。无论我提交给该计划的高度和体重是多少……我的 bmi 一直高得离谱,比如 4258544,然后它告诉我我体重不足。我想我可以用另一双眼睛。请帮忙。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void h_conversion (double *h) {
*h = *h/12;
}
int bmi_category (double h, double w, double b) {
b = (w * 4.88)/(h * h);
if (b < 20)
return 1;
else if (b >= 20 && b < 25)
return 2;
else if (b >= 25 && b < 30)
return 3;
else if (b >= 30 && b < 40)
return 4;
else
return 5;
}
int main (void) {
double height, weight, bmi;
double *h, *w, *b;
h = &height;
w = &weight;
b = &bmi;
printf ("Please enter height (inches): \n");
scanf (" %lf", &height);
while ( h <= 0 ) {
printf ("Weee, this is fun! Try again.\n");
scanf (" %.2lf", &height);
}
if ( *h < 42 || *h > 84 )
printf ("Your entry falls outside the norm for an adult.\n");
h_conversion( h );
printf ("Please enter weight (lbs): \n");
scanf (" %.2lf", &weight);
while ( w <= 0 ) {
printf ("This is why we can't have nice things. Try again.\n");
scanf (" %.2lf", &weight);
}
switch ( bmi_category(*h, *w, *b)) {
case 1:
printf ("BMI: %d. Underweight.", (int)&bmi);
break;
case 2:
printf ("BMI: %d. Normal weight.", (int)&bmi);
break;
case 3:
printf ("BMI: %d. Slightly overweight.", (int)&bmi);
break;
case 4:
printf ("BMI: %d. Overweight.", (int)&bmi);
break;
case 5:
printf ("BMI: %d. Extremely overweight.", (int)&bmi);
break;
default:
printf ("error condition\n");
}
system ("pause");
return 1;
}
最佳答案
在你的 printf 中你正在使用
(int)&bmi
// this request the address of bmi and casts that value to an integer (addresses are always integers)
什么时候应该使用
(int)bmi
// this casts the value of the variable bmi to an integer which is what you want.
你总是得到奇怪的值是因为你得到的是地址而不是变量的值。
还有为什么都是指针变量?你只需要 h 一个。 bmi 函数不要求您使用指针,那么为什么要使用它们而不是非指针函数呢?
当它没有任何问题地完成执行时,main 也会返回 0。由于某种原因,您返回 1 表示程序未正确完成执行。
关于有人可以问为什么这个程序运行不正常。我是 C 的新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32674894/
我有这个gradle命令行,可以完美地工作: /gradle app:testalldevicesproductionenv -Pandroid.testInstrumentationRunnerAr
因此,我使用 NativeBase 作为组件框架来开发 React Native 应用程序。 我正在使用卡片组件。 这是我的代码: render(){ return(
假设我有这样的Kotlin代码: val var1:String? = isVar1Present() val var2:String? = isVar2Present() val var3:Stri
我想要一些有关当前正在使用的程序的指导,如果用户两次输入相同的值,我已经成功创建了一对整数并处理了异常。我一直坚持执行创建对的相同过程,但不是整数,它必须是字符串。 我的一个建议是更改有序对的随机生成
我的 node.js e2e 测试有问题。我想等待 2 个 promise 解决。但由于某种原因,当我使用 Q.all 时,它只是卡住了我的应用程序。我正在使用 kriskowal 的 Q 1.0.0
实际上我已经开发了使用 Hdfs 存储图像的应用程序。现在我想迁移服务器并在新服务器中再次设置 hadoop。我如何将 HDFS(旧服务器)中的图像文件备份到新服务器中的 HDFS? 我尝试使用 Co
我想在GCP上建立一个完全自动化的CI / CD管道。在Cloud Build中,我已经有了一个cloudbuild.yaml,它可以构建Dockerfile并将构建的Docker镜像推送到Conta
我刚刚开始使用Docker,并能够使用Ubuntu 14.03 / LXDE / VNC设置Docker镜像,由于我可以从外部连接到VNC服务器,因此可以很好地工作。 现在,我试图理解Docker的网
我有 Talend Studio Data Intergration 6.2.1。作业导出为 .war,作为 Web 服务在服务器上执行。 我的问题是,有什么方法可以找出哪个应用程序调用我的 ws?
这个问题在这里已经有了答案: Why is super.super.method(); not allowed in Java? (22 个答案) 关闭 9 年前。 我怀疑我想做的事情是否可行。我有
我似乎无法找到正确的方式来表达这一点以进行 Google 搜索。 当我使用 q.all 并且只有一两个失败时(在 Node.js 中)会发生什么。我需要为我使用 Promise 的所有成功实例输入 .
Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。 想
我已经整理了一个宏,它允许我将数据从一张表存档到另一张表,但是我无法让它在之后清除信息。第一列包含我不想清除的数字,现在它只是清除 B 列中的数据。 如果有人可以看看这个,我会非常感激。 'Sub a
我有一个 C# 程序可以从 .txt 文件创建 Excel 文件报告。 它工作完美,但有时(经常)当我打开一个电子表格时,Excel 会打开 2 个电子表格: 1 我保存的文件。1 有一些名为“Pla
为什么不玩 onclick="catch()"?我不明白。 function catch () { alert("safsf"); } ... 最佳答案 catch 是
在 Q 中,有哪些方法可以在 where 子句中使用嵌套查询的结果? 我正在寻找类似于 SQL 语句的内容。 select from food where type_id in ( selec
虽然这段代码可以工作: var promise = function(val) { var _val = val; return setTimeout(function(_val) {
自Mozilla和Google宣布,他们打算将来使用默认设置通过HTTPS激活DNS,并且IETF正式批准了该草案(https://datatracker.ietf.org/wg/doh/about/
OnClickListener 无法与 ScrollView 一起使用,因为“扩展了 Fragment”。我该如何使用它呢?一个例子就足够了。谢谢.. 更新Fragment1.java package
char name[20]=""; char address [50]= ""; do{ printf("Input your name [1..20] : "); scanf("%s
我是一名优秀的程序员,十分优秀!