Operacja porownania itd problem
Ostatnio zmodyfikowano 2013-01-28 03:41
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:/?
|
|
kubawal |
» 2013-01-16 11:08:37 Kompilator wywali ci na takiej instrukcji. Jeśli masz tak: int i; cin >> i; if( i == 8 )
To "jakies instrukcje" wykonają się tylko wtedy, gdy użytkownik poda liczbę 8. Natomiast 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. |
|
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. |
|
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. |
|
crash |
» 2013-01-28 03:41:20 Może najprościej jak się da: operator = to operator przypisania natomiast operator == jest operatorem porównaniastring napis;
napis = "crash";
if( napis == "CRASH" ) { co ś tam }
Niestety w C/c++ poprawne jest także: Czyli przypisanie w instrukcji warunkowej, na to należy uważać |
|
« 1 » |