错误:左值作为赋值的左操作数
所以我在程序之上写了这些:
#ifndef IV
#define IV 109
#endif
在main函数中,我在这一行得到了上述错误:
IV='h';
请?
答案 0 :(得分:3)
IV
是一个宏,预处理器替换它的值109
,因此编译器会看到:
109 = 'h';
不允许这样做,因为您无法分配常量。
答案 1 :(得分:2)
预处理器正在扩展:
IV = 'h';
为:
109 = 'h';
在逻辑上和语法上都是不正确的。无法将int
字面值分配给char
字面值。
那我怎么能改变IV的价值?
我担心你不理解C中类型的概念。你应该在那里使用变量:
unsigned int IV = 109;