#ifndef AH
#define AH
#include "B.h"
void printfA();
#endif // !AH
#include<stdlib.h>
#include<stdio.h>
#include "A.h"
void printfA(){
printf("A.....\n");
}
#ifndef BH
#define BH
#include "A.h"
void printfB();
#endif // !BH
#include<stdlib.h>
#include<stdio.h>
#include "B.h"
void printfB(){
printf("B.....\n");
}
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include "A.h"
#include "B.h"
int main() {
printfA();
printfB();
return 0;
}
输出如下:
A.....
B.....
对于新的编译器,可以使用预编译关键字来处理 #pragma once, 这样就可以避免重复引入头文件,而造成冲突。
#pragma once
#include "B.h"
void printfA();
#pragma once
#include "A.h"
void printfB();