<分区>
假设以下宏:
#define print(...) \
int a[] = {__VA_ARGS__}; \
for (int i=0; i < sizeof(a)/sizeof(a[0]); i++){ \
printf("%d\n", a[i]);\
}
可用于使用此调用打印 1,2,3
:
int main(){
print(1,2,3);
return 0;
}
现在如果我想动态生成参数列表(例如在 for 循环中)并将其传递给 print
而不更改 print 函数怎么办?所以它看起来像这样:
print(1,2,3,....,n);
这在 C 中可行吗?