我想访问表单的几个变量:
int arr1=1;
int arr2=1;
int arr3=1;
Run Code Online (Sandbox Code Playgroud)
所以我写了
#define arr(i) arr##i
Run Code Online (Sandbox Code Playgroud)
但是下面的代码片段并没有像我期望的那样工作
#include <stdio.h>
int main(){
int arr1=1;
int arr2=1;
int arr3=1;
int j;
for(j=1; j<3; j++)
printf("%d",arr(j));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你不能做这个.C中的运行时不存在变量名.
您的宏将扩展为arrj,这是一个未定义的变量名称.使用正确的数组:
int arr[] = { 1, 1, 1 };
Run Code Online (Sandbox Code Playgroud)
然后打印arr[j],但像这样循环:
for(j = 0; j < sizeof arr / sizeof *arr; ++j)
printf("%d\n, arr[j]);
Run Code Online (Sandbox Code Playgroud)