否则,如果语句意外执行,则表现为其他语句
Else if statement executing unexpectedly, behaving as else statement
我正在研究一个简单的函数来将 ascii 代码转换为数组索引,我对 else-if 语句有点麻烦。
int getIndex(char character) {
int code = int(character);
int index = -1;
if (code == int(' ')){
index = 26;
} else if (int('a') <= code <= int('z')) {
index = code - int('a');
}
return index;
}
if 条件工作正常并在空格上触发,但 else if 语句在所有其他情况下触发,无论字符是否在 a 到 z 范围内。有没有我看不到的问题?
C++ 不支持具有多重比较的表达式(例如,Python 支持(。您需要将else if
分支中的表达式分解为两个表达式,它们之间带有逻辑和 (&&
( 运算符:
if (code == int(' ')){
index = 26;
} else if (int('a') <= code && code <= int('z')) {
// Here -----------------^
index = code - int('a');
}
return index;
相关文章:
- C++ If 语句,从其他语句重复
- 我如何在一个 if 语句中声明所有数字我尝试通过其他方式声明所有数字,如果一个接一个,但似乎代码有逻辑错误
- 如果有 constexpr if 语句,为什么没有其他 constexpr 语句呢?
- 在后台循环,同时运行其他语句 C++
- C - 如果语句问题.代码将不会运行其他,否则
- 否则,如果语句意外执行,则表现为其他语句
- 我可以将循环用作如果其他条件语句
- 如何引用无效的输入,然后重新输入和如果其他语句
- C 程序运行不正确的其他语句
- C 搜索数组以获取一个数字,但如果找不到该数组,则不会触发其他语句
- 如何将多个变量与其他if语句进行比较
- 如何在内联回调函数中使用EXPECT_EQ和其他Google Mock语句
- C 使用功能定义中的if/其他语句以返回最小的数字
- 最后一行欧普特两个组合输出问题?如果其他语句
- 我的C 代码永远不会超过其他语句
- 为什么if语句中未定义的参数不会导致segfault或其他错误
- 如何停止 while 循环并转到我的其他语句
- C++Bare布尔表达式(不包含if、while或其他语句)
- C++,其他受scanf语句影响的变量
- 为什么自动类型不能与c++语句中的其他内置类型共存