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