C语言当中的文件包含如何处理?

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:25:34
文件"print_format.h"
#define PR printf
#define NL "\n"
#define D "%d"
#define D1 D NL
#define D2 D D NL
#define D3 D D D NL
#define D4 D D D D NL
#define S "%s"

文件"file1.c"
#include "print_format.h"
main()
{int a,b,c,d;
char string[]="CHINA";
a=1;b=2;c=3;d=4;
PR(D1,a,);
PR(D2,a,b);
PR(D3,a,b,c);
PR(D4,a,b,c,d);
PR(S,string);}
以上两个文件在Turbo C 2.0上编译,执行"file1.c"中的程序时,为什么不能用文件"print_format.h"中的内容,换句话说,就是不能运行?
请各位高手指点一下,谢谢!
朋友,你说的我照做了,但仍不能运行.仍出现以下提示:
main file:file1.c
compiling:editor-file1.c
Total File
Lines compiled: 4 4
Warnings: 0 0
Errors: 3 3
Available memory: 202k

首先print_format.h文件名过长,TC只能认前8位,建议改名成print.h;
其次,应该把print.h文件放到turboc2.0的文件夹下的include文件夹里,否则不能用#include引入;
最后,文件"file1.c"中第一行改成#include "print.h",第六行改成PR(D1,a);
这样就行了,我已经运行过了,没问题。
显示结果是:
1
12
123
1234
CHINA

print_format.h 确实过长……改短点
PR(D1,a,);多了一个逗号……
然后是main函数没有类型,要么在mian前面添加void,要么在最后加return 0;
……

PR(D1,a,);这个展开后就变成printf("%d" "\n",a,);了,很明显是错误的,
PR(D1,a,);改为PR(D1,a);