Macros
#define SQ(x) (( x) * (x))
- Se for encontrada no texto do programa a expressão:
SQ(7+w) será substituída por ((7+w) * (7+w))
O uso dos parênteses evita problemas na ordem de execução da expressão, por exemplo:
#define SQ(x) x * x
SQ(7+w) será substituída por 7+w * 7+w
- Isto acarreta erros no resultado esperado (precedência de operadores)