else前缺少if

{ cout<<"请输入你的行动。\n";

cout<<"A.全速前进。\n";

cout<<"B.中速前进。\n";

cout<<"C.全速前进。\n";

cout<<"D.休息一晚。\n";

cout<<"E.查看你的处境。\n";

cout<<"Q.退出游戏。\n";

char p;

cin>>p;

if(p=='a'||p=='A')

 {

if (d>0)

d--;

b=0;

else (d=0) 

cout<<"你的水壶没有水了请重新选择你的行动。";

}



WHATWAYHOW
浏览 1345回答 1
1回答

onemoo

下次发帖时记得把代码格式化一下if(p=='a'||p=='A') {     if (d>0)         d--;     b=0;     else (d=0)          cout<<"你的水壶没有水了请重新选择你的行动。"; }这样就方便看清楚了吧?if (d>0) 后面的 d--; 语句就结束了这个 if 判断语句,下一行的 b = 0; 算是条单独的语句,所以下面的 else 就没有可配对的了(它不可能匹配外面的if,因为它嵌套在外面if的里面)。另外除了提示的那个错误,else 后面也不能跟判断语句。 如果你想在 else 部分再进行一次判断,应该用 else if 语句。所以如果你是想 d--; 和 b = 0; 语句都包括在 if (d>0) 中,那就应该用大括号括起来:if (d > 0) {     d--;     b=0; } else if (d = 0)     cout << "......";
打开App,查看更多内容
随时随地看视频慕课网APP