adplus-dvertising
frame-decoration

Question

What is the output of this C code?
#include <stdio.h>
    int main()
    {
        int *((*x)())[2];
        x();
        printf("after x\n");
    }
    int *((*x)())[2]
    {
        int **str;
        str = (int*)malloc(sizeof(int)* 2);
        return str;
    }

a.

Compile time error

b.

Undefined behaviour

c.

After x

d.

None of the mentioned

Posted under C Programming

Answer: (a).Compile time error

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. What is the output of this C code? #include <stdio.h> int main() { int *((*x)())[2]; x(); printf("after x\n"); } int...

Similar Questions

Discover Related MCQs

Q. What does this declaration say?
int (*(*y)())[2];

Q. Read the following expression?
void (*ptr)(int);

Q. Which of the following expression is true for the following?

ptr is array with 3 elements of pointer to function returning pointer of int

Q. What do the following declaration denote?
int **ptr;

Q. What do the following declaration denote?
char *str[5];

Q. Comment on the following declaration?

int (*ptr)(); // i)
char *ptr[]; // ii)

Q. Is the below declaration legal?
int* ((*x)())[2];

Q. Let x be an array. Which of the following operations are illegal?

Q. What is the maximum number of dimensions an array in C may have?

Q. What does the following declaration mean?
int (*ptr)[10];

Q. Which of the following statements are correct about an array?

1. The array int num[26]; can store 26 elements.
2. The expression num[1] designates the very first element in the array.
3. It is necessary to initialize the array at the time of declaration.
4. The declaration num[SIZE] is allowed if SIZE is a macro.

Q. int a[5] = {1,2,3}

What is the value of a[4]?

Q. The function sprintf() works like printf(), but operates on ..........

Q. Choose the best answer.
Prior to using a pointer variable

Q. The address operator &, cannot act on

Q. The statement int **a;

Q. The operator > and < are meaningful when used with pointers, if

Q. The declaration
int (*p) [5];
means

Q. Comment on the following?
const int *ptr;

Q. A function 'p' that accepts a pointer to a character as argument and returns a pointer to an array of integer can be declared as