Lập trình C - C #ifdef

Chỉ thị tiền xử lý #ifdef

Chỉ thị #ifdef kiểm tra một macro được định nghĩa trong #define. nếu đúng thì nó thực thi code ngược lại thực thi code trong #else

Cú pháp:

#ifdef MACRO
     //Đoạn chương trình 1
 
#else
     //Đoạn chương trình 2
 
#endif

Nếu MACRO đã được định nghĩa thì đoạn chương trình 1 sẽ được thực hiện. Ngược lại nếu MACRO chưa được định nghĩa thì đoạn chương trình 2 sẽ được thực hiện.

Ví dụ về chỉ thị #ifdef:

#include <stdio.h>  
#include <conio.h>  
#define NOINPUT  
void main() {  
int a=0;  
#ifdef NOINPUT  
a=2;  
#else  
printf("Enter a:");  
scanf("%d", &a);  
#endif         
printf("Value of a: %d\n", a);  
getch();  
}  

Kết quả:

Value of a: 2

Nhưng nếu không định nghĩa  NOINPUT, Nó yêu cầu người sử dụng: Enter a:

#include <stdio.h>  
#include <conio.h>  
void main() {  
int a=0;  
#ifdef NOINPUT  
a=2;  
#else  
printf("Enter a:");  
scanf("%d", &a);  
#endif         
  
printf("Value of a: %d\n", a);  
getch();  
}  

Kết quả:

Enter a:5
Value of a: 5