Wytluamczenie latwego zadania

0

Hej, nie rozumiem dlaczego wynik ponizzszego zadania wynosi: BAMO1+21-41

 int main() 
{
cout << "BAMO";
int a = 3, b = -4, c = 1;

if ((a=1) || ((b=0) && (c=2)))
cout << "1+2";
else
cout << "2-4";
cout << a << b << c;
return 0;
}

if ((a=1) || ((b=0) && (c=2))) - o co tutaj chodzi? mnie wychodzi, zewarunek ten ejst nieprawdziwy

Prosze o wytlumaczenie!

Dziekuje

0

Nie mam pojęcia jaki ma być wynik tej aplikacji ale pewnie chodzi o użycie "=" zamiast "==".

0
if ((a=1) || ((b=0) && (c=2)))

Napisane takiego warunku powoduje, że podczas sprawdzania a przyjme wartość 1, b przyjmie wartość 0, a c przyjmie wartość 2. Jeżeli chcesz sprawdzać wartości, musisz użyć znaku ==, czyli:

if ((a==1) || ((b==0) && (c==2)))
0
Blood napisał(a)

Napisane takiego warunku powoduje, że podczas sprawdzania a przyjme wartość 1, b przyjmie wartość 0, a c przyjmie wartość 2.

Nie prawda: a przyjmie wartość 1, a reszta wartości się nie zmieni - jeżeli l-wartość alternatywy jest prawdziwa to r-wartość nie jest sprawdzana, przypisania się nie wykonają.

@autor: tak jak Blood napisał - zamiast operatora porównania(==), użyłeś operator przypisania(=).

0 użytkowników online, w tym zalogowanych: 0, gości: 0