C语言中的IF语句中的Operator ++

Zar*_*eya 1 c

我有这个:

...
int charry = 0;
if (l[charry++] == 'a'){
    whatever;
}
...
Run Code Online (Sandbox Code Playgroud)

问题是:无论如何都会增加charry或者只是l[charry] == 'a'评估为true?

先感谢您.

hac*_*cks 5

char是一个保留的关键词.程序甚至不会编译.


编辑: 在比较之前,==将评估两个操作数,因此将对表达式产生任何副作用.因此charry会被修改.