重复一个命令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;
}