常量内的变量字符

use*_*956 3 c constants character

定义了这个:

int var1 = 1;
int var2 = 2;
int var3 = 3;
Run Code Online (Sandbox Code Playgroud)

我想这样做:

int result = varc * 70; // Where c is a previously defined int that can take 1,2 or 3 value.
Run Code Online (Sandbox Code Playgroud)

解决方案?谢谢.

Bat*_*eba 6

因为它不是一种反思性的语言,所以你在这方面运气不好.也就是说,你不能通过某种方式"字符串化"你在源代码中给出的名称来获取变量的值.

但你可以做的是使用一个数组:

int vars[] = {1, 2, 3};

int result = vars[i] * 70;
Run Code Online (Sandbox Code Playgroud)

其中i0,1或2.