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回复;
答不上来;
如果部分(答复=“是”){
coutreply
类型为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"