我是C的新手并且学习了char数组.这是我的代码 -
#include <stdio.h>
int main()
{
char a[4];
int i = 1;
if (a[i] = 'a' || a[i] = 'e')
printf("%c", a[i]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
每当我尝试在if语句中分配两次char数组时,编译器会给出错误:Expression必须是可修改的lvale.我无法理解这个错误的原因是什么.我认为在if语句中首先a [i]将被分配一个值'a'然后最终'e'.但它似乎不是那样的.请帮助我明白这个错误的原因是什么.