Comparații: = nu este ==
Învață comparații: = nu este == în C++.
Explicație
Atribuirea și comparația sunt operații diferite. int x = 5; pune 5 în variabila x. Expresia x == 5 întreabă dacă valoarea este egală cu 5 și produce adevărat sau fals. Mai există != (diferit), <, <=, > și >=.
Exemplu complet:
#include <iostream>
using namespace std;
int main() {
int varsta;
cin >> varsta;
if (varsta >= 18) {
cout << "MAJOR";
} else {
cout << "MINOR";
}
return 0;
}
Pentru intrarea 18, programul afișează MAJOR. Pentru intrarea 17, afișează MINOR. La 18, comparația 18 >= 18 este adevărată, deoarece >= include și egalitatea.
Greșeală frecventă: if (x = 5) nu compară x cu 5; atribuie valoarea 5 și o interpretează ca adevărată. Folosește == când verifici egalitatea. Nu pune punct și virgulă imediat după if (conditie), altfel instrucțiunea condiționată poate deveni goală.
Verifică singur: pentru varsta 0, rezultatul este MINOR; pentru 20, rezultatul este MAJOR.
Exersează în CodePath
Creează un cont gratuit pentru a accesa editorul, testele, feedbackul și progresul cursului.
Începe gratuitAi deja cont? Deschide activitatea