c++ - iso c++禁止指针和整数之间的比较,if语句与字母比较
问题描述
我正在尝试编写一个通过引入性别、年龄和身高来计算理想质量的算法。我的问题显然与性别有关,因为它不是数字字符。我尝试用 char 来介绍它,然后,由于女性和男性的理想质量不同,我尝试为每种性别做一个 if 语句。但是,我用来检查数值变量和常量之间相等性的传统方法在这里不起作用。我有点预料到这一点,但我仍然不明白如何解决它。我提到我是一个初学者,我不知道为什么它不起作用。我在该主题上阅读的其他答案提到使用“字符串”来介绍字母字符。我试过了,虽然我不能确定我是按预期做的,当我的程序计算时,它会遍历最后一个 if 语句,就好像它是真的一样,尽管它不是。
int main()
{
int h, age;
char sex;
float masa;
printf("introdu inaltimea: \n");
scanf("%d", &h);
printf("introdu varsta: \n");
scanf("%d", &age);
printf("introduce sexul [M/F]: ");
scanf("%s", &sex);
masa=50 + 0.75*(h-150) + (age-20)/4.00;
if(sex=="M")
{
cout<<"masa ideala este "<<masa;
}
else
masa=masa-10;
cout<<"masa ideala este "<<masa;
return 0;
}
解决方案
推荐阅读
- mysql - 如何删除 WITH ROLLUP 获取的不必要值并添加 TOTAL?
- html - 如何使特定元素可滚动,而不是整个页面?
- laravel - laravel 有效载荷在生产中太大
- intershop - 如何解码 BASKET 表上的 COMPUTEDITEMS 字段
- postgresql - Sqlalchemy 核心:重新格式化 select 内部的 select 查询
- javascript - 如何在单页应用程序中使用 Google adsense 广告?
- django - 根据帐户类型限制对 Django 中视图的访问
- javascript - 在里面打印对象值
- hyperledger-fabric - 为什么 Hyperledger Fabric 中没有 Merkle 树来跟踪世界状态
- android - Android 导航组件 - 在整个应用生命周期中存储/访问数据