- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以我是 C++ 的新手,我正在研究代码。我正在写一个 if 语句,它会检查你是否写了"is"或“否”,然后根据它给你不同的答案。
我遇到的问题是,当我写下“否”时,它给我的答案就好像我写下"is"一样; “好的”。
我正在使用控制台 (MSDOS) 而不是 API,我对 C++ 和整体编程还是很陌生,这可能就是我无法让它工作的原因。
代码如下:
string happy;
getline(cin, happy);
if(happy == "yes" || "Yes")
{
cout << "Nice" << endl;
}
else if(happy == "no" || "No")
{
cout << "Not nice" << endl;
}
else
{
cout << "Alright..." << endl;
}
我已经尽力找出答案,看看代码中是否有错误,但我似乎找不到任何东西。如果你能帮助我,我会很高兴。
最佳答案
if(happy == "yes" || "Yes")
错了。使用
if(happy == "yes" || happy == "Yes")
相反。以下一系列不幸的事件发生在您的代码中:编译器首先评估 happy == "yes"
,它是一个 bool
(true
或 false
),然后将其与 C 字符串常量“Yes”进行 OR 运算,后者会衰减为非空指针,并可转换为 true
。最后你得到一个 bool
和 true
之间的 OR,这总是 true,真可惜。
根据经验,始终在打开所有警告的情况下编译您的程序:对于 gcc,我通常使用 -Wall -Wextra
。这些事情可能会在编译时被捕获,因此您至少可以开始思考为什么会出现警告。
编辑 有趣的是,gcc 和 clang 都没有对您的代码发出任何警告。当然,它们不是必需的,但如果有就更好了。
关于c++ - 我写了一个 if/elseif 语句,但它只给了我第一个答案,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309535/
使用之间真的有什么区别吗 If(this) { } Else If(that) { } Else { } 或使用, If(this) { } If(that) { } Else { } ? 执行速度更
我想在 netlogo 中有一个 if elseif else if else 结构,但目前它似乎不起作用。 ifelse random 100 < 68 [ set HBB-Genes "A,A
This question already has answers here: PHP parse/syntax errors; and how to solve them (19个回答) 2年前关闭
我正在通过特定于国家/地区的代码过滤我网站上的一些内容,我正在尝试添加 else 语句,这样它就不必将每个部分都作为单独的代码运行,除非我尝试的任何操作都会出错: 上面给出了以下错
每个人! 我有一个沉重的文件,在 A 和 D 列中有不同的值。 现在我想让这个脚本完成以下操作: 如果 A 列中的值是 D 列中的“选项一”和“K”,则删除这一整行。 此外,如果 A 列中的值为“选项
我正在编写一个脚本,允许用户按名称或数字输入月份。在下面的语句中,我可以在输入框和行中输入任何我想要的内容: ElseIf sMonthOfMaintenance = "1" Or "2" O
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
当语句 block 相当短时,我喜欢在多行中构造 if {} {} elseif {} {} ,如下所示。 if {cond1} {do1} elseif {cond2} {do2} elseif {
在我的提交按钮中,if/else if 语句对于我的正确/不正确输出无法正常工作。 例如问题:维多利亚在哪里?答案:不列颠哥伦比亚省 - 不正确。但是,如果我回答:艾伯塔省或不列颠哥伦比亚省,那就是正
当语句 block 相当短时,我喜欢在多行中构造 if {} {} elseif {} {} ,如下所示。 if {cond1} {do1} elseif {cond2} {do2} elseif {
我有这段代码: @Override public void inform(String data) { if (data.equals(C.SubscriptionEvents.WINDOW_
你好,我是 PHP 新手。 所以我在这里有一个查询,检查数据库中订单总计的状态是否设置为1或0 $chk_dscnt=mysql_query("SELECT * FROM `discount` WHE
我正在努力学习 C++。当我尝试执行 else 时,它没有按我认为的方式工作。 我已经尝试了所有我能想到的。 #include using namespace std; int main() {
我正在尝试使我的表单验证和数据库插入脚本正常工作,但再次遇到问题。我正在使用 elseif 语句来执行以下操作: 检查表单是否确实是由用户单击提交按钮提交的,并且所有数据字段均已填写,如果没有,则发出
如果我有两个参数“parameterX”和“parameterY” 我将使用“parameterX”和“parameterY”来推荐 sql snytax 喜欢 select * from test.
首先,当我提交时,我的选择选项有效,但我的输入字段无效。我正在使用 if else if 语句根据选项查询我的数据库。 我怀疑这部分 elseif 不起作用: elseif ($option == "
我在一些 if-else 子句中挣扎,想就如何设置逻辑提出建议。 我有以下代码: //if isset a or b if (isset(a) || isset(b) ) { //if
我试图在 Python 的 PuLP 中构建 If-Then-Else-If... 条件。 我查看了 MIP 中的 If-Then 和 If-Then-Else。但是,我试图了解如何将选择进一步向下传
虽然在这个程序中,我必须在一个循环中一次又一次地输入温度。当我输入温度后显示正确时,但是当我再次输入温度时程序自行终止。 代码是: import java.util.Scanner; public c
我的问题是如何用数学公式替换那些 if? if ($l 的形式.那是什么东西? 就像你说的,每 500 级你提高 20。所以我们知道我们移动 20/500对于每 1 个级别(因为好吧,如果我们将其乘以
我是一名优秀的程序员,十分优秀!