Answer to Question contract-4
No. It does not say that this function changes y.
It does not indicates that the value returned is the
sum of x and the new value of y. From the
contract, you would expect that
int a = 2;
int b = 3;
int c = sum(a,b);
would make c = 5 and leave b = 3. In fact, it makes
c = 6 and b = 4.