Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Operacja porownania itd problem

Ostatnio zmodyfikowano 2013-01-28 03:41
Autor Wiadomość
kynol
Temat założony przez niniejszego użytkownika
Operacja porownania itd problem
» 2013-01-16 10:48:10
Witam czym rozni sie jesli np mam :

int i = 8;
to znaczy ze zmienna i jest rowna 8 ale jesli mam
int i == 8;
to co to znaczy:/?



P-74089
kubawal
» 2013-01-16 11:08:37
Kompilator wywali ci na takiej instrukcji.

Jeśli masz tak:
C/C++
int i;
cin >> i;
if( i == 8 ) // jakies instrukcje
To "jakies instrukcje" wykonają się tylko wtedy, gdy użytkownik poda liczbę 8.
Natomiast
C/C++
int i;
cin >> i;
bool b =( i == 8 );
b będzie miało wartość true, jeżeli użytkownik poda liczbę 8.
W przeciwnym razie false.
P-74091
adam_1234_adam
» 2013-01-20 17:08:09
Troche dziwne tłumaczenie kubwal

zapis i = 8 jest przez ciebie dobrze zrozumiany, tak jak napisałeś, sprawi on że w obiekcie i znajdzie się wartość 8. Jednak operator == mimo graficznego podobieństwa do = nie ma z nim nic wspólnego. Zapis i == 8 wcale nie zmieni wartości w obiekcie i, tylko całe wyrażenie i==8 zwróci 0 lub 1 (false lub true), w zależności od tego, czy i jest równe 8 czy nie. Analogicznie do operatora + - wyrażenie i+8 nie spowoduje zmiany wartości i, a jedynie zwróci sume 8 oraz i.
P-74475
kubawal
» 2013-01-21 10:27:51
No to tak jak napisałem.
Do zmiennej b zostanie zapisany wynik wyrażenia
( i == 8 )
, czyli true lub false.
P-74560
crash
» 2013-01-28 03:41:20
Może najprościej jak się da:

operator = to operator przypisania natomiast operator == jest operatorem porównania

C/C++
string napis;

napis = "crash"; //przypisanie

if( napis == "CRASH" ) //porównanie
{
    co ś tam
}

Niestety w C/c++ poprawne jest także:

C/C++
if( napis = "CRASH" )

Czyli przypisanie w instrukcji warunkowej, na to należy uważać
P-75192
« 1 »
  Strona 1 z 1