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