Let us consider each option one by one...
A. If you are declaring actual parameters as constant then value of those parameters will never be change ..or u can say ,at the address of actual parameter value will remain constant.( this is the answer of ur question) and also if ur declaring actual parameter as constant then what is there in using call by referance if we cannot reflect the changes back??
B. If u are declaring formal parameter ( pointer to actual parameter ) as constant then u cannot change the address that is stored in that formal parameter but still u can manipulate the value present at that address...i.e the value of actual parameter ..
C. If u will pass a pointer still u can manipulate caller's function data..