Open In App

C Quiz – 111 | Question 4

Last Updated : 28 Jun, 2021
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads