我是出于一般知识目的而要求这一点。
我可以在标头文件中定义printf
并在整个程序中使用pf
替换printf
吗?
基于任何标准是否错误?
#include<stdio.h>
#define pf printf //printf defined here
int main(){
int x=10;
pf("x=%d",x); //pf is used instead of printf
}
PS:学习新事物只是为了在课堂上取得成功;)
答案 0 :(得分:11)
这完全合法 - 而且风格非常糟糕。
编译器将pf
替换标识符printf
的每次出现。
但是每次使用它时都要完整地编写printf
,这使得您的代码对于读者来说更具可读性。如果我看到printf
的电话,我就知道它究竟意味着什么。如果我看到一个叫pf
的东西的调用,我的第一个假设就是你有一个这个名字的功能,我需要找出它的功能。在我能理解调用的含义之前,我必须先寻找你的宏定义。它浪费的时间远远超过使用宏保存的4次击键。