CSADPRG_mod4_operand_evaluation_order

original file

this is unedited

process

side effects

int a = 5;  
  
int fun1() {  
     a = 17;  
     return 3;  
}   
  
void main() {  
     a = a + fun1();  
}

how to solve?

  1. disallow functional side effects
  1. Write the language definition to state the order of evaluating operands and demand that implementors guarantee that order