Rozdział 8 Operatory Przypisanie Operator przypisania (“=”), jak sama nazwa wskazuje, przypisuje wartość prawego argumentu lewemu, np.: int a = 5, b; b = a; printf("%d\n", b); /* wypisze 5 */ Operator ten ma łączność prawostronną tzn. obliczanie przypisań następuje z prawa na lewo i zwraca on przypisaną wartość, dzięki czemu może być użyty kaskadowo: int a, b, c; a = b = c = 3; printf("%d %d %d\n", a, b, c); /* wypisze "3 3 3" */ Skrócony zapis C umożliwia też skrócony zapis postaci a #= b;, gdzie # jest jednym z operatorów: +, -, *, /, &, —, ˆ, (opisanych niżej). Ogólnie rzecz ujmując zapis a #= b; jest równoważny zapisowi a = a # (b);, np.: int a = 1; a += 5; /* to samo, co a = a + 5; */ a /= a + 2; /* to samo, co a = a / (a + 2); */ a %= 2; /* to samo, co a = a % 2; */ Początkowo skrócona notacja miała następującą składnię: a =# b, co często pro- wadziło do niejasności, np. i =-1 (i = -1 czy też i = i-1?). Dlatego też zdecydowano się zmienić kolejność operatorów. 43
... zobacz całą notatkę
Komentarze użytkowników (0)