根据我对 C 中宏的理解,它们是预定义的常量,将在整个程序中使用它们的常量值,因此我们继续定义它们以避免进一步的复杂性并使代码更具可读性,因此人们阅读它会明白什么应该保持不变,什么不是。
我到处读过(《C 编程现代方法》,K.N King),我们可以将这两个函数定义为宏。
由于我对 C 有点陌生,所以我不知道如何将这两个定义为宏?
最佳答案
宏有两种类型:简单替换宏和类函数宏。
替换宏将符号的一个实例替换为另一个实例。例如:
#define LEN 10
char str[LEN];
经过预处理后,变成:
char str[10];
类似函数的宏可以采用可以插入到任何被替换的参数中:
#define MAX(a,b) ((a) > (b) ? (a) : (b))
int x = MAX(2,3);
预处理后:
int x = ((2) > (3) ? (2) : (3));
对于getchar
和putchar
,它们可以定义如下:
#define getchar() getc(stdin)
#define putchar(c) putc(c, stdout)
关于c - getchar() 和 putchar() 宏如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45760438/