C 如果该代码中的错误是什么

c++ if what is the error in that code?

本文关键字:错误 是什么 代码 如果      更新时间:2023-10-16

嗨,我的英语不是很好我有我写的源代码"如果"answers"否则"印刷没有问题但是"否则"问题我无法打印

#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;
}

通常在C 中,您不将Bool值与0/1进行比较,而当您检查true/false时,只需检查是否是!= 0例如!= 0,例如if (tm) ...,以检查两个TM是否是否tmMF是正确写if (tm && mf) ...

tm == mf == 1不正确。

检查tmmf是否等于1,请执行此操作:

if(tm == 1 && mf == 1)而不是。

您的代码上没有任何错误,但是我认为您的意思是为什么此输出会为您出现。在" if(tm == mf == 1)"中检查您的条件这将向您打印仅三个输出(Zekisin或tm或MF)而且它不会打印basaramadin,因为在您的代码中您不会达到此条件,在" if(tm == mf == 1)"中您想念的是,我认为如果TM Boolen是错误的,这意味着其价值为0,而MF Boolean也是错误的,值为0您在" if(tm == mf == 1)"中的状况也将是正确的(true),因为tm == mf,然后将其打印给您这个" Zekisin"而且您将无法达到其他条件" basaramadin"我希望这对您有帮助。