在c中定义获取参数的值
define in c get the value of parameter
我想创建一个程序,使用 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 而不是“i”?
预处理器在代码编译之前运行。你不能像那样在预处理器中做循环。
你真正想要的是一个数组:
#include <stdio.h>
int main()
{
int i;
int n[] = { 1, 2, 3 };
for(i=0;i<3;i++) printf("%d\n", n[i]);
}
我想创建一个程序,使用 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 而不是“i”?
预处理器在代码编译之前运行。你不能像那样在预处理器中做循环。
你真正想要的是一个数组:
#include <stdio.h>
int main()
{
int i;
int n[] = { 1, 2, 3 };
for(i=0;i<3;i++) printf("%d\n", n[i]);
}