Pointers - C Questions

Pointers Questions - 1 Pointers Questions - 2 Pointers Questions - 3 Pointers Questions - 4 Pointers Questions - 5 Pointers Questions - 6 Pointers Questions - 7 Pointers Questions - 8

Data Types - C Questions

Data Types Questions - 1 Data Types Questions - 2 Data Types Questions - 3 Data Types Questions - 4 Data Types Questions - 5

Operators - C Questions

Operators Questions - 1 Operators Questions - 2 Operators Questions - 3 Operators Questions - 4 Operators Questions - 5

Structures - C Questions

Structures Questions - 1 Structures Questions - 2 Structures Questions - 3 Structures Questions - 4 Structures Questions - 5

Files - C Questions

Files Questions - 1 Files Questions - 2 Files Questions - 3 Files Questions - 4 Files Questions - 5

printf - C Questions

printf Questions - 1 printf Questions - 2 printf Questions - 3 printf Questions - 4 printf Questions - 5

Variables - C Questions

Variables Questions - 1 Variables Questions - 2 Variables Questions - 3 Variables Questions - 4 Variables Questions - 5

Preprocessor Macros

Preprocessor Macros - 1 Preprocessor Macros - 2 Preprocessor Macros - 3 Preprocessor Macros - 4 Preprocessor Macros - 5

While Loop - C Questions

While Loop Questions - 1 While Loop Questions - 2 While Loop Questions - 3 While Loop Questions - 4 While Loop Questions - 5

for Loop - C Questions

for Loop Questions - 1 for Loop Questions - 2 for Loop Questions - 3 for Loop Questions - 4 for Loop Questions - 5

if else - C Questions

if else Questions - 1 if else Questions - 2 if else Questions - 3 if else Questions - 4 if else Questions - 5

Switch case - C Questions

Switch case Questions - 1 Switch case Questions - 2 Switch case Questions - 3 Switch case Questions - 4 Switch case Questions - 5

Array - C Questions

Array Questions - 1 Array Questions - 2 Array Questions - 3 Array Questions - 4 Array Questions - 5

Functions - C Questions

Functions Questions - 1 Functions Questions - 2 Functions Questions - 3 Functions Questions - 4 Functions Questions - 5

Memory Allocation

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

C Pointers Interview Questions

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 Interview Questions

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

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

A. compilation error

B. Runtime error

C. 5

D. linker error

x

 

Option: B

Explanation

Pointer variable (*ptr) cannot be initialized.

Answer


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

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

A. Address Value

B. Value Address

C. Address Address

D. Compilation error

x

 

Option: C

Explanation

& and * cancelled each other and display the address stored in a pointer variable ptr i.e) the address of a.

Answer


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

#include<stdio.h>
int main(){
	int num = 10;
	printf("num = %d addresss of num = %u",num, &num);
	num++;
	printf("\n num = %d addresss of num = %u",num, &num);
	return 0;
}

A. Compilation error

B. num = 10 address of num = 2293436
    num = 11 address of num = 2293438

C. num = 10 address of num = 2293436
    num = 11 address of num = 2293440

D. num = 10 address of num = 2293436
    num = 11 address of num = 2293436

x

 

Option: D

Explanation

Here a variable num holds the value 10 and get its address as 2293436, then increment is done as num++ which uses the same address space to store the incremented value.

Answer


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

#include<stdio.h>
int main(){
	int i = 25;
	int *j;
	int **k;
	j = &i;
	k = &j;
	printf("%u %u %u ",k,*k,**k);
	return 0;
}

A. address address value

B. address value value

C. address address address

D. compilation error

x

 

Option: A

Explanation

Here a pointer variable *j hold the address of i and then another pointer variable *k hold the address of j.

now
k = address of j
*k = address of i
**k = value of i.

Answer


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

#include<stdio.h>
int main(){
	int a, b, c;
	char *p = 0;
	int *q = 0;
	double *r = 0;
	a = (int)(p + 1);
	b = (int)(q + 1);
	c = (int)(r + 1);
	printf("%d %d  %d",a, b, c);
	return 0;
}

A. Runtime error

B. 0 0 0

C. Compilation error

D. 1 4 8

x

 

Option: D

Explanation

Initializing pointer variable to zero is possible. Since initial address of any data type is zero, So its next address will be size of data type.

Here a pointer variable *p belongs to char data type, thus a = (int) (p + 1); increase its address by 1 as it belongs to char datatype. Thus variable a = 1 .

Here a pointer variable *q belongs to int data type, thus b = (int) (q + 1); increase its address by 4 as it belongs to int datatype. Thus variable b = 4 .

Here a pointer variable *r belongs to double data type, thus c = (int) (r + 1); increase its address by 8 as it belongs to double datatype. Thus variable c = 8 .

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