C/Powszechne praktyki: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
To samo (może autor ma taki sposób pisania, ale lepiej niech przykłądy używają najpopularniejszego standardu, czyli nawias klamrowy zamykający na wysokości instrukcji)
drobne
Linia 69:
#*Źle: <code>#define kwadrat(x) (x*x)</code>
#*Dobrze: <code>#define kwadrat(x) ( (x)*(x) )</code>
#*'''Przykład:''' Załóżmy, że w programie makro kwadrat() zdefiniowane bez nawiasów zostało wywołane następująco: <code>kwadrat(a+b)</code>. Wtedy zostanie ono zamienione przez preprocesor na: <code>(a+b*a+b)</code>. Z kolejności działań wiemy, że najpierw zostanie wykonane mnożenie, więc wartość wyrażenia <code>kwadrat(a+b)</code> będzie różna od kwadratu wyrażenia <code>a+b</code>.
# Umieszczaj nawiasy dookoła całego makra, jeśli jest pojedynczym wyrażeniem. Ponownie, chroni to przed zaburzeniem kolejności działań.
#*Źle: <code>#define kwadrat(x) (x)*(x)</code>