首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c++中比较它们的数值表示错误的特征

在c++中比较它们的数值表示错误的特征
EN

Stack Overflow用户
提问于 2017-05-29 05:08:39
回答 1查看 48关注 0票数 1
代码语言:javascript
运行
复制
#include <iostream>

using namespace std;
int main()
{
    string sound;
    if('h'==char(106), 'a'==char(97), 't'==char(114), ' '==char(118),
    'i'==char(105), 's'==char(115))
    //the  numerical representation letter by letter should be "jarvis"  and   
    compare them in "hat is"
    {
        cout << "correct" << endl;//and to my surprise the program shows  it is 
correct
    }
    else
        cout <<"wrong" ;
    return 0;
}

我比较了jarvis和hat的数字表示,程序表明它是正确的,这是怎么可能的?什么使“帽子”和贾维斯一样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-29 05:13:23

如果-否则,这不是检查多个条件的正确方法:逗号意味着什么?和-条件或可能的条件?

代码语言:javascript
运行
复制
if('h'==char(106), 'a'==char(97), 't'==char(114), ' '==char(118),
    'i'==char(105), 's'==char(115))

相反,使用布尔运算符

代码语言:javascript
运行
复制
if('h'==char(106) && 'a'==char(97)...etc)

编辑:记住

代码语言:javascript
运行
复制
if (a, b,....,  n){ }

正在产生与以下同样的效果:

代码语言:javascript
运行
复制
if (n){ }

这使你所定义的错误条件变得不同。(例如“h”不是106,而是104)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44234962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档