C++ If语句c++;带文本

C++ If语句c++;带文本,c++,C++,我的代码: { int reply; cout<<"Am I doing something wrong: "; cin>> reply; if-part( reply == "yes") { cout<<"Good"; } } { int回复; 答不上来; 如果部分(答复=“是”){ coutreply类型为int,您将其作为字符串进行比较。这是不可能的。您可以简单地使用: if (re

我的代码:

{

    int reply;

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



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


    }
{
int回复;
答不上来;
如果部分(答复=“是”){

cout
reply
类型为
int
,您将其作为
字符串进行比较。这是不可能的。

您可以简单地使用:

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

cout在您的例子中,您将整数与指针(地址)进行比较

Reply
是一个in值

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

const char *yes = "yes"
其中
yes
将是一个指针,指向y_e_s中字符串的第一个字节——例如,0x75243

因此,您正在将整数值与指针值(如0x75243)进行比较,它们不太可能相等


在java脚本中,这将起作用(更好)因为它不转换类型,C++不,至少不喜欢这个。<代码>如果部分< /代码>?代码>回复<代码>是<代码> int >代码>,<代码> CIN < /代码>不会接受一个字符串作为<代码> > <代码>的有效输入。<代码> int >代码> s不是代码>字符串< /代码>。请问我如何修复它?谢谢。我建议阅读一个基本T。在编写任何代码之前,C++语法上的UTrEng. <代码>如果部分< /代码>,然后在您自己的答案中,您应该写的是<代码> >如果< /COD>不实际编写<代码>如果。您必须具有<代码>回复<代码>类型<代码>字符串< /> >。
const char *yes = "yes"