int main () {
//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
char i = 1;
//int ADD2(n) = para;
char str[25] = "0";
char s1[] = "PANEL_NUMERIC_I_";
for(int j = 0; j < 3; j++)
{
//sprintf(str,"%s%d",s1,j);
//printf("%s\n",str);
ADD4(s1,j,str);
// printf("%s\n",str);
char str1[2];
str1[0] = j + 1;
//printf("%d\n",*str1);
//printf("%d\n",ADD2(*str1)); //正确,相当于直接printf *str1
//printf("%d\n",ADD2(SHUZI)); //正确,相当于直接printf SHUZI声明的*str1
//printf("%d\n",ADD3(SHUZI)); //错误,相当于直接printf SHUZI,SHUZI变为字符串不是变量名
//printf("%d\n",SHUZI); //正确,相当于直接printf *str1
//printf("%d\n",ADD3(*str1)); //错误,*str1变为字符串了,不再是变量名
//printf("%d\n",ADD3(ADD2(SHUZI))); //正确
//char ADD2(n) = 2;
//printf("%d\n",ADD(j,1)); //正确
//printf("%d\n",ADD2(n)); //正确,输出赋的值,即2
//printf("%d\n",ADD2(j)); //正确,输出j代表的数字,相当于直接printf j
//printf("%d\n",ADD(ADD2(n),1)); //正确
//printf("%d\n",ADD(ADD2(j),1)); //正确,只是显示j+1而已,和直接printf j+1 没区别
//printf("%d\n",CTRLNAME(ADD(ADD2(n),1))); //错误
//printf("%d\n",CTRLNAME(ADD(ADD2(j),1))); //错误
//printf("%d\n",CTRLNAME(ADD(1,1))); //错误
//printf("%d\n",CTRLNAME(ADD2(n))); //错误
//printf("%d\n",CTRLNAME(ADD2(j))); //错误
//printf("%d\n",CTRLNAME(ADD2(1))); //错误
//printf("%d\n",CTRLNAME(1)); //正确,和1拼接在一起,形成参数名,前提是参数名存在,前面声明过
//printf("%d\n",CTRLNAME(j)); //错误,没有声明或定义过的参数名,可以同时定义就正确了
//printf("%s\n",ADD3(ADD2(j))); //正确,显示j,而不是j的值
//printf("%d\n",ADD5(ADD2(1))); //正确,拼接ADD2里面的内容
printf("%d\n",CONCAT(PANEL_NUMERIC_I_,j)); //错误
}
return 0;
}