You're mixing up '=' and '=='.
a=2 'a' will be 2.
if(a == 2) {
//means if 'a' is the same as 2.
//do something, if 'a' is 2 and only 2.
}
It won't change 'a'.
Usually, identifiers in ALL_CAPS are reserved for macros.
Because macros (especially function-like macros) have unpredictable semantics, it is important to maintain the distinction between them. Mistaking a identifier for a function or variable name when it is actually a macro can result in code that silently does the wrong thing.
Although maybe your code isn't actually in ALL_CAPS at all, because the language is case-sensitive.