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

C Pointer 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.

Pointer Questions

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

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

A. -126

B. Run Time Error

C. Garbage value

D. Compile Time Error

x

 

Option: A

Explanation

Here a variable a holds the value 130 of integer datatypes, which is then type casted to char datatypes using pointer variable. As we know that a value 130 is exceeding the char range( -128 to 127), thus it loops through its range.

For Example

128 = -128
129 = -127
130 = -126
140 = -125

Answer


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

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

A. Garbage value

B. Compilation Error

C. Run time error

D. Linker Error

x

 

Option: C

Explanation

Here k is the pointer variable which holds the address of another pointer variable j. where j is also a pointer variable which also holds the address of another variable i. Now when the address of a pointer variable k is incremented by 1 , then k hold some other garbage value which is not the address of any other variable. Thus runtime error occurs.

Answer


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

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

A. Linker Error

B. Run time error

C. Compilation Error

D. Garbage value

x

 

Option: D

Explanation

Here j is the pointer variable which holds the address of another variable called i. When j is incremented, the address stored in j is incremented. As a result some garbage value will be displayed as we had not initialized anything to the address next to the address of a variable i.

Answer


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

#include<stdio.h>
#include<string.h>
int main(){
	char *ptr = "hello";
	char a[22];
	strcpy(a, "world");
	printf("\n%s %s",ptr, a);
	return 0;
}

A. hello world

B. Run time error

C. Compilation Error

D. Garbage value

x

 

Option: A

Explanation

Simply, pointer variable ptr is initialized with the char string "hello" and a normal variable a is set to copy the string "world" using the inbuilt function strcpy. Thus it displayed hello world.

Answer


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

#include<stdio.h>
#include<string.h>
int main(){
	char *ptr = "hello";
	char a[22];
	*ptr = "world";
	printf("\n%s %s",ptr, a);
	return 0;
}

A. Linker Error

B. Run time error

C. Compilation Error

D. Garbage value

x

 

Option: C

Explanation

ptr is a pointer variable of character data type, string "world" can be set to the pointer variable ptr only at the initializing time.

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