what is the output of the following program

int change( int x ) {
 x = 7;
}

main(){
 int x = 5;
 change(x);
 printf(ā€œ%dā€,x);    
}
  1. 5

  2. 7

  3. 9

  4. unknown


Correct Option: A

AI Explanation

To answer this question, let's go through each option to understand why it is correct or incorrect:

Option A) 5 - This option is correct because the variable x in the main function is passed by value to the change function. In the change function, the value of x is updated to 7, but this change does not affect the original x variable in the main function. Therefore, the value of x in the main function remains 5, and that is the value that is printed.

Option B) 7 - This option is incorrect because the value of x in the change function is updated to 7, but this change does not affect the original x variable in the main function. Therefore, the value of x in the main function remains 5, not 7.

Option C) 9 - This option is incorrect because nowhere in the program is there a statement that assigns the value 9 to the variable x.

Option D) unknown - This option is incorrect because the behavior of the program is well-defined. The output will be a specific value, either 5 or 7, depending on the correct choice among the given options.

The correct answer is A) 5. This option is correct because, as explained earlier, the value of x in the main function remains 5, and that is the value that is printed.

Therefore, the correct answer is A) 5.

Find more quizzes: