重复一个命令N次的宏
Macro to repeat a command N times
是否可以编写如下宏:
putcharX(repeat, char)
==>
putcharX(5, '*');
==>
putchar('*');
putchar('*');
putchar('*');
putchar('*');
putchar('*');
注意:我不想使用 for/while/do
循环,而是在代码中复制命令 n
次。 cpp 可以实现这样的事情吗?
您不能在宏中编写“真正的”递归语句。最接近的是
#define putcharOne putchar('*')
#define putcharTwo putcharOne; putcharOne
#define putcharThree putcharOne; putcharOne; putcharOne
#include <stdio.h>
int main()
{
putcharOne;
putcharTwo;
return 0;
}
是否可以编写如下宏:
putcharX(repeat, char)
==>
putcharX(5, '*');
==>
putchar('*');
putchar('*');
putchar('*');
putchar('*');
putchar('*');
注意:我不想使用 for/while/do
循环,而是在代码中复制命令 n
次。 cpp 可以实现这样的事情吗?
您不能在宏中编写“真正的”递归语句。最接近的是
#define putcharOne putchar('*')
#define putcharTwo putcharOne; putcharOne
#define putcharThree putcharOne; putcharOne; putcharOne
#include <stdio.h>
int main()
{
putcharOne;
putcharTwo;
return 0;
}