iGET

C Programming - MCQ Practice Questions

C questions in placement tests and university exams are rarely about syntax alone. Most of what you will find here is output prediction, pointer arithmetic, arrays and strings, structures and unions, storage classes, recursion, and file handling. The explanations walk through memory behaviour step by step, which is usually where the confusion sits rather than in the code itself.

972 questions | 100% Free

Q.1Medium

What is the output?
int a = 5;
int *p = &a;
int **q = &p;
printf("%d", **q);

Q.2Medium

What happens when you increment a pointer?
int arr[5] = {1,2,3,4,5};
int *p = arr;
p++;

Q.3Medium

What is the output?
int x = 10, y = 20;
int *p = &x;
int *q = &y;
p = q;
printf("%d", *p);

Q.4Medium

What will be printed?
int arr[] = {1, 2, 3};
int *p = arr;
printf("%d", *(p+2));

Q.5Medium

What is a wild pointer?

Q.6Medium

What is the output?
int *p = NULL;
if(p) printf("Not NULL");
else printf("NULL");

Q.7Medium

Which of the following correctly allocates memory for 10 integers?

Q.8Medium

What is a dangling pointer?

Q.9Medium

What will be the output?
int arr[] = {10, 20, 30};
int *p = arr;
printf("%d %d", arr[1], *(p+1));

Q.10Medium

A void pointer can be used to store addresses of variables of any data type. However, it must be cast before dereferencing. Which statement about void pointers is FALSE?

Q.11Medium

Consider the code: int arr[] = {5, 10, 15, 20}; int *ptr = arr; ptr++; What does ptr now point to?

Q.12Medium

Which of the following best describes a dangling pointer situation?

Q.13Medium

Consider: int x = 5; int *p = &x; int q = &p; What is the value of q?

Q.14Medium

Which memory allocation function does NOT initialize allocated memory to zero?

Q.15Medium

Consider: int arr[5] = {1, 2, 3, 4, 5}; int *p = arr; What is the value of *(p+2)?

Q.16Medium

A function needs to modify a variable in the calling function. Which parameter passing method is appropriate?

Q.17Medium

Consider: void func(int *arr, int size); This function prototype suggests that func will:

Q.18Medium

What will be the output of: int x = 10; int *p = &x; printf("%p", p); (assuming typical system output)

Q.19Medium

What is the difference between pointer and array name in C?

Q.20Medium

What will be the output?
int a[] = {10, 20, 30};
int *p = a;
printf("%d", *(p+2));