Gate 2017 pyq C Programming | Consider the following C code:int * assignval (int *x, int val){*x...}

Опубликовано: 13 Март 2026
на канале: Gate CS pyqs - the other way [Eng]
1,345
54

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.