1.

Consider the following C code:#include int *assignval(int *x, int val) {*x = val;return x;}void 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» E.


Discussion

No Comment Found