Gate CS-2017-1 Question Paper With Solutions

Q. 27 Consider the following C code:

#include <stdio.h>

int * assignval (int *x, int val)
{
    *x = val;
    return x;
}

int main()
{
    int *x = malloc(sizeof(int));
    if (NULL == x) return;
    x = assignval(x, 0);
    if(x)
    {
        x = (int*) malloc(sizeof (int));
        if (NULL == x) return;
        x = assignval (x, 10);
    }
    printf("%d\n", *x);
    free(x);
}

The code suffers from which one of the following problems:

(A) compiler error as the return of malloc is not typecast appropriately.

(B) compiler error because the comparison should be made as x==NULL and not as shown.

(C) compiles successfully but execution may result in dangling pointer.

(D) compiles successfully but execution may result in memory leak.

Answer: (D)

Explanation:

Gate CS-2017-1 Question Paper With Solutions Gate CS-2017-1 Question Paper With Solutions

Learn More:   Gate EE-2018 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here