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

Difficult Pointers Questions with 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.

Difficult Pointers Questions

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

#include<stdio.h>
int main(){
 char *cities[] = {"UAE", "Spain", "America"};
 int **i = &cities[0];
 int **j = &cities[1];
 int **k = &cities[2];
 printf("%c%c%c\n", **i,**j,**k);
 return 0;
}

A. Upa

B. USA

C. UAE

D. None of the above

x

 

Option: B

Explanation

Let's illustrate with the diagram.

pointer questions in c

Answer


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

#include<stdio.h>
int main(){
 char array[5] = "Knot", *ptr, i, *ptr1;
 ptr = &array[1];
 ptr1 = ptr + 3;
 *ptr1 = 101;
 for(i = 0; i < 4;i++)
 printf("%c", *ptr++);
 return 0;
}

A. not

B. Knot

C. note

D. garbage value

x

 

Option: C

Explanation

In the above program, we assigned the starting value of pointer variable is with the address of second element in an array i.e) Knot. Then we append the value 101 i.e)'e' to the ptr variable. Thus it prints note

Answer


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

#include<stdio.h>
int main()
{
	char *ptr = "Pointer-to-String", i;
	printf("%s", ++ptr);
	return 0;
}

A. Pointer-to-String

B. o

C. ointer-to-String

D. None of the above

x

 

Option: C

Explanation

Here, the starting address i.e) The address of P is skipped by pre incrementing the address. "Noting more than that".

Answer


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

#include<stdio.h>
int main()
{
	char *str = "His";
	int i;
	for(i = 0; i < strlen(str); i++)
	printf("%s", str++);
	return 0;
}

A. Hisis

B. Hisiss

C. HisHisHis

D. None of the above

x

 

Option: A

Explanation

The above program is some what cool. At first time strlen(str) will set to 3 as the character in str is 3. Thus it prints His
After printing His the value in str = is, then at second iteration of for loop the strlen(str) will set to 2 Thus is displays is
After printing is the value in str = s, then at third iteration of for loop the strlen(str) will set to 1 where for(;2<1;) is condition false and it terminate the program after second iteration of for loop. Thus summation of output is Hisis.

Answer


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

#include<stdio.h>
int main()
{
	char arr[10] = "Mango", *ptr;
	ptr = (&arr[1]++);
	printf("%s",ptr++);
	return 0;
}

A. ango

B. ngo

C. Compile time error

D. Mango

x

 

Option: C

Explanation

In the above program, increment operator cannot be operated with unary address of operator.
instead try ptr= (&arr[1]+1); to display ngo

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