Home / C Programming / Arrays :: Discussion

Discussion :: Arrays

  1. Which of the following statements are correct about the program below?

     #include 
     
     int main()
     {   
         int size, i;   
         scanf("%d", &size);   
         int arr[size];     
         for(i=1; i"%d", arr[i]);          
            printf("%d", arr[i]); 
        }  
        return 0; 
     } 
    

  2. A.

    The code is erroneous since the subscript for array used in for loop is in the range 1 to size.

    B.

    The code is erroneous since the values of array are getting scanned through the loop.

    C.

    The code is erroneous since the statement declaring array is invalid.

    D.

    The code is correct and runs successfully.

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    The statement int arr[size]; produces an error, because we cannot initialize the size of array dynamically. Constant expression is required here.

    Example: int arr[10];

    One more point is there, that is, usually declaration is not allowed after calling any function in a current block of code. In the given program the declaration int arr[10]; is placed after a function call scanf().


Be The First To Comment