Skip to content
Related Articles

Related Articles

Improve Article
C Quiz – 111 | Question 4
  • Difficulty Level : Basic
  • Last Updated : 01 Nov, 2015

Pick the best statement for the below program:




#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;
}

(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

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :