The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

C Pointers Questions and Answers

In most of the MNC interview questions such as in ZOHO interview question, IVTL Infoview interview questions, Amazon interview questions, GOOGLE interview questions, Infosys interview questions and even in Voonik interview questions, We come across several Tricky C Questions about which 2:5 of the questions are from pointers in c. Solving that kind of tricky C questions is not an easy task for all C programmers. We need more practices to solve it with ease. So we provide 25+ interesting C questions in pointers to make your MNC interview very easy.

Pointers Questions and Answers

11. What will be the output of the C program?

#include<stdio.h>
struct classroom
{
	int students[7];
};
int main()
{
	struct classroom cr = {2, 3, 5, 7, 11, 13};
	int *ptr;
	ptr = (int *)&cr;
	printf("%d",*(ptr + 4));
	return 0;
}

A. 5

B. 11

C. 13

D. 7

x

 

Option: B

Explanation

Here a pointer variable ptr holds the address of a first value (2) of an object cr, then the address of the pointer variable is incremented by 4 and then its value is displayed .

For Example

*(ptr + 0) = 2
*(ptr + 1) = 3
*(ptr + 2) = 5
*(ptr + 3) = 7
*(ptr + 4) = 11
*(ptr + 5) = 13

Answer


12. What will be the output of the C program?

#include<stdio.h>
unsigned long int (*function())[5]{
	static unsigned long int arr[5] = {2, 3, 5, 7, 11};
	printf("%d", *arr);
	return &arr;
}
int main(){
	unsigned long int (*ptr)[5];
	ptr = function();
	printf("%d", *(*ptr + 4));
	return 0;
}

A. 2, 5

B. 2, 7

C. 2, 11

D. Compilation error

x

 

Option: C

Explanation

Simply, function holds an array which returns the address of first element in an array arr.

Note: ptr itself an address which holds the address of first element in an array arr. Thus *ptr returns the address of a first element in an array arr and then **ptr returns the value for the first element in an array arr, as per our "printf(",%d",*(*ptr+4));" returns a value 11 inside an array arr.

Answer


13. What will be the output of the C program?

#include<stdio.h>
int main(){
	int a = 25, b;
	int *ptr, *ptr1;
	ptr = &a;
	ptr1 = &b;
	b = 36;
	printf("%d %d",*ptr, *ptr1);
	return 0;
}

A. 25 45632845

B. Run time error

C. Compilation Error

D. 25 36

x

 

Option: D

Explanation

ptr holds the address of a variable A and ptr1 holds the address of a variable B . The value of A is 25 and B is 36.

Answer


14. What will be the output of the C program?

#include<stdio.h>
int main(){
	int * ptr ;
	printf("%d", sizeof(ptr));
	return 0;
}

A. 4

B. 8

C. 2

D. compilation error

x

 

Option: A

Explanation

size of int is 4 in 32 bits and 64bit operating system.

For more details Click Here.

Answer


15. What will be the output of the C program?

#include<stdio.h>
int main(){
	int *ptr = 2;
	printf("%d", sizeof(ptr));
	return 0;
}

A. Garbage value

B. 2

C. Compilation error

D. 4

x

 

Option: C

Explanation

ptr is the pointer variable of integer data type. Thus ptr can not be initialised by any integer value other than 0.

Answer


Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report