Lập trình C - C #ifndef

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

Chỉ thị tiền xử lý #ifdef kiểm tra một macro không đượ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

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

Nếu MACRO không đượ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ị #ifndef:

#include <stdio.h>  
#include <conio.h>  
#define INPUT  
void main() {  
int a=0;  
#ifndef INPUT  
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

Nêu không #define INPUT . Nó sẽ thực thi code của #ifndef

#include <stdio.h>  
#include <conio.h>  
void main() {  
int a=0;  
#ifndef INPUT  
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