常量内的变量字符

时间:2017-01-30 09:22:00

标签: c character constants

定义了这个:

int var1 = 1;
int var2 = 2;
int var3 = 3;

我想这样做:

int result = varc * 70; // Where c is a previously defined int that can take 1,2 or 3 value.

解决方案?谢谢。

2 个答案:

答案 0 :(得分:6)

在C中你运气不好,因为它不是反射语言。也就是说,你不能通过某种方式“字符串化”你在源代码中给出的名称来获取变量的值。

但你可以做的是使用数组

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

int result = vars[i] * 70;

其中i为0,1或2。

答案 1 :(得分:2)

你写道:

int result = varc * 70;

这是你想要的语言c。

注意: varc 是标识符

请记住C:中的 IDENTIFIER                       标识符是C程序中实体的名称,例如变量,数组,函数,结构,联合。

对于所有实体,它必须是唯一的,并且标识符是一个字母数字字符串

好的,你记得。的:)

所以,你从未使用过" c"出现在" varc"处理(参考)其他变量/标识/实体。

我希望我能用最简单的方式解决你的疑问。谢谢你! :)