45. What will be the output of the following code?

public class Test{
public static void add3(Integer i){
int val=i.intValue();
val+=3;
i=new Integer(val);
}
public static void main(String args[]){
Integer i=new Integer(0);
add3(i);
System.out.println(i.intValue());
}
}

Select 1 correct answer: 
A. The code will not compile. 
B. 0 
C. 3 
D. A runtime exception will be thrown.