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 Tricky 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 Tricky Questions and Answers

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

#include<stdio.h>
int main()
{
	char *ptr;
	char string[] = "learn C from 2braces.com";
	ptr = string;
	ptr += 6;
	printf("%s",ptr);
	return 0;
}

A. compilation error

B. Runtime error

C. from 2braces.com

D. C from 2braces.com

x

 

Option: D

Explanation

Each letter in string[] array is stored in seperate address. The starting address in string[] array is stored a pointer variable ptr which is then incremented by 6. Thus "learn " is neglected and "C from 2braces.com" is displayed.

Answer


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

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

A. Compilation error

B. Garbage Value

C. Address

D. 5

x

 

Option: C

Explanation

Pointer variable *ptr cannot be initialized at any time.

Answer


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

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

A. 1

B. compilation error

C. Runtime error

D. 4

x

 

Option: D

Explanation

sizeof void is 1 and the sizeof void pointer is 4

Answer


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

#include<stdio.h>
void function(char**);
int main()
{
	char *arr[] = { "ant", "bat", "cat", "dog", "egg", "fly" };
	function(arr);
	return 0;
}
void function(char **ptr)
{
	char *ptr1;
	ptr1 = (ptr += sizeof(int))[-2];
	printf("%s\n", ptr1);
}

A. cat

B. bat

C. dog

D. egg

x

 

Option: A

Explanation

Here function() gives the address of first value("ant") in an arr.This address is summationed by a sizeof(int) which is 4. now the address in ptr points the value eggs, which is then reduced by 2 . now it points to the value cat which is finally displayed

Answer


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

#include<stdio.h>
int main()
{
	struct node
	{
	int a, b, c;
	};
	struct node num = {3, 5, 6};
	struct node *ptr = & num;
	printf("%d\n", *((int*)ptr + 1 + (3-2)));
	return 0;
}

A. 3

B. 5

C. Compilation error

D. 6

x

 

Option: D

Explanation

Here the pointer variable stores the address of first value in struct node num = {3, 5, 6}; which is incremented by 2 and then the value 6 is finally displayed.

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