如果语句c ++带有文本

时间:2016-02-22 15:09:25

标签: c++

我的代码:

{

    int reply;

    cout<<"Am I doing something wrong: ";
    cin>> reply;



    if-part( reply == "yes") {
    cout<<"Good";
    }


    }

大家好,我是新手,我用谷歌搜索了你的东西,但我找不到答案。

如果你在if条件下发短信,为什么这段代码运行不好,但如果你输入数字,一切都很好?

谢谢。

3 个答案:

答案 0 :(得分:0)

reply的类型为int,您将其与string进行比较。这是不可能的。

答案 1 :(得分:0)

您可以简单地使用:

if (reply == 1)
     cout << "Good\n";

答案 2 :(得分:0)

在您的情况下,您将整数与指针(地址)进行比较

if-part( reply == "yes") {

Reply是有价值的。

“是”是一个c字符串,因此大致相当于

const char *yes = "yes"

其中yes是指向y_e_s中字符串中第一个字节的指针 - 例如,0x75243

所以你要将整数值与指针值(例如0x75243)进行比较,它们不太可能相等。

在java脚本中这可以工作(更好),因为它为你转换类型--C ++没有,至少不是这样。