C Quiz – 111 | Question 4

Pick the best statement for the below program:

filter_none

edit
close

play_arrow

link
brightness_4
code

#include "stdio.h"
   
void fun(int n)
{
   int idx;
   int arr1[n] = {0};
   int arr2[n];
   
   for (idx=0; idx<n; idx++)
       arr2[idx] = 0;    
}
   
int main()
{
   fun(4);
   return 0;
}

chevron_right


(A) Definition of both arr1 and arr2 is incorrect because variable is used to specify the size of array. That’s why compile error.
(B) Apart from definition of arr1 arr2, initialization of arr1 is also incorrect. arr1 can’t be initialized due to its size being specified as variable. That’s why compile error.
(C) Initialization of arr1 is incorrect. arr1 can’t be initialized due to its size being specified as variable. That’s why compile error.
(D) No compile error. The program would define and initializes both arrays to ZERO.


Answer: (C)

Explanation: There’s no issue with definition of arr1 and arr2. In definition of these arrays, the mention of array size using variable is ok as per C standard but these types of arrays can’t be initialized at the time of definition. That’s why initialization of arr1 is incorrect. But initialization of arr2 is done correctly. Right answer is C.

Quiz of this Question



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.