为printf定义一个宏是错误的吗?

时间:2014-03-06 17:14:48

标签: c

我是出于一般知识目的而要求这一点。

我可以在标头文件中定义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:学习新事物只是为了在课堂上取得成功;)

1 个答案:

答案 0 :(得分:11)

这完全合法 - 而且风格非常糟糕。

编译器将pf替换标识符printf的每次出现。

但是每次使用它时都要完整地编写printf,这使得您的代码对于读者来说更具可读性。如果我看到printf的电话,我就知道它究竟意味着什么。如果我看到一个叫pf的东西的调用,我的第一个假设就是你有一个这个名字的功能,我需要找出它的功能。在我能理解调用的含义之前,我必须先寻找你的宏定义。它浪费的时间远远超过使用宏保存的4次击键。