我的英语不是很好 我有我写的源代码 "如果"和"否则如果"打印没问题 但是"否则"问题我无法打印
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() {
int x, y;
char a,b;
bool tm, mf;
y = 13;
b = 'A';
cout <<"Asagidaki toplama islemini yap !"<< endl << "12" << endl << "+" << endl << "1" << endl;
cin >> x;
mf = (x == y);
cout << "Turkiyenin baskenti'nin bas harfini" << endl << "buyuk harfle yaz" << endl;
cin >> a;
tm = (a == b);
if (tm == mf == 1 )
cout << "zekisin";
else if (tm == 1)
cout << "TM";
else if (mf == 1)
cout << "MF";
else
cout << "Basaramadin";
cin >> a;
}
答案 0 :(得分:2)
通常在C ++中你不要将bool值与0/1进行比较,而是在检查true / false时检查它是否为!= 0例如ssh
以检查tm和mf是否都是是真的写if (tm) ...
答案 1 :(得分:0)
tm == mf == 1
不正确。
要检查tm
和mf
是否等于1
,请执行以下操作:
if(tm == 1 && mf == 1)
代替。
答案 2 :(得分:0)
您的代码没有任何错误, 但我想你的意思是为什么这个输出出现在你面前。 检查“if(tm == mf == 1)”中的条件 这将只打印三个输出(zekisin或TM或MF) 并且它不会打印Basaramadin,因为在你的代码中你不会达到这个条件, 在“if(tm == mf == 1)”中,如果tm == mf将打印zekisin,如果mf == 1将打印MF,如果tm == 1将打印TM, 你错过了什么,因为我认为如果tm boolen为false,这意味着它的值为0,而且mf boolean为false,值为0 您在“if(tm == mf == 1)”中的条件也是正确的(true)因为tm == mf然后这将打印给你这个“zekisin” 你将无法达到最后的条件“Basaramadin” 我希望这能帮助你。