main()
{
int i;
int *pi = &i;
scanf("%d", pi);
printf("%d∖n", i+5);
}
Which one of the following statements is TRUE?
Correct : C Code
The program stores the integer entered by the user in variable i using the pointer pi. The program then calculates i + 5 and prints the result.
Solution:
pi = &i means that pi stores the address of i.
When scanf("%d", pi) is executed, the integer entered by the user is stored in i.
The statement printf("%d\n", i + 5) then prints the value of i + 5.
Example: If the user enters 10, then i = 10 and the output is 15.
Analyze the Options:
A) Compilation fails: Incorrect. The program is valid C code.
B) Execution results in a run-time error: Incorrect. The pointer correctly points to variable i.
C) The value printed is 5 more than the address of variable i: Incorrect. The program prints i + 5, not the address of i.
D) The value printed is 5 more than the integer value entered: Correct. The entered value is stored in i, and then 5 is added to it.
Correct Answer: D) On execution, the value printed is 5 more than the integer value entered.
Similar Questions
Total Unique Visitors