Khi sử dụng một #define trong C, chúng ta nên chú ý dùng dấu ngoặc trong các biểu thức được define.
Ngoài ra, nếu trước đó ta đã khai báo một biến, sau đó lại define một tên trùng với tên biến đó. Thì từ lúc define đó trở đi, tên được define sẽ được sử dụng cho tới khi ta undef nó ( như ví dụ với M bên dưới)
#include
#define in printf
#define N 100
#define length1 3 + 5
#define length2 (3+5)
void main()
{
int M = 200;
int x = 2*length1;
int y = 2*length2;
in("\n N= %d M=%d",N,M);
#define M 300
in("\nM=%d",M);
#undef M
in("\nM=%d",M);
in("\n%d",x);
in("\n%d",y);
}
Ngoài ra, nếu trước đó ta đã khai báo một biến, sau đó lại define một tên trùng với tên biến đó. Thì từ lúc define đó trở đi, tên được define sẽ được sử dụng cho tới khi ta undef nó ( như ví dụ với M bên dưới)
#include
#define in printf
#define N 100
#define length1 3 + 5
#define length2 (3+5)
void main()
{
int M = 200;
int x = 2*length1;
int y = 2*length2;
in("\n N= %d M=%d",N,M);
#define M 300
in("\nM=%d",M);
#undef M
in("\nM=%d",M);
in("\n%d",x);
in("\n%d",y);
}