在c中定义获取参数的值



我想创建一个程序,通过在c 中使用define来打印三个参数的值

#include <stdio.h>
#define Print(num) printf("%d",n##num)
int main()
{
int i;
int n1=1, n2=2, n3=3;
for(i=1;i<=3;i++)Print(i);
}

比n###num等于ni和n1,n2,n3的问题。有没有一种方法可以使i的值设置在num中而不是"0"中;我"?

预处理器在编译代码之前运行。你不能在预处理器中那样做循环。

你真正想要的是一个数组:

#include <stdio.h>
int main()
{
int i;
int n[] = { 1, 2, 3 };
for(i=0;i<3;i++) printf("%dn", n[i]);
}

最新更新