0

错误:需要左值作为赋值的左操作数

所以我在程序之上写了这些:

#ifndef IV
#define IV 109
#endif

在主函数中,我在这一行得到了上述错误:

IV='h';

请?

4

2 回答 2

3

IV是一个宏,预处理器将其替换为它的 value 109,因此编译器依次看到:

109 = 'h';

这是不允许的,因为您不能分配给常量。

于 2013-10-06T01:37:02.053 回答
2

预处理器正在扩展:

IV = 'h';

至:

109 = 'h';

这在逻辑上和语法上都是不正确的。int不能将文字分配给文字char

那么我怎样才能改变IV的值呢?

恐怕你不理解 C 中类型的概念。你应该在那里使用一个变量:

unsigned int IV = 109;
于 2013-10-06T01:36:23.620 回答