我该如何修复此错误,这是什么意思?

时间:2013-10-06 01:34:37

标签: c

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

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

#ifndef IV
#define IV 109
#endif

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

IV='h';

请?

2 个答案:

答案 0 :(得分:3)

IV是一个宏,预处理器替换它的值109,因此编译器会看到:

109 = 'h';

不允许这样做,因为您无法分配常量。

答案 1 :(得分:2)

预处理器正在扩展:

IV = 'h';

为:

109 = 'h';

在逻辑上和语法上都是不正确的。无法将int字面值分配给char字面值。

  

那我怎么能改变IV的价值?

我担心你不理解C中类型的概念。你应该在那里使用变量:

unsigned int IV = 109;