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 Array 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 Array 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 Array to make your MNC interview very easy.

C Array Questions

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

#include<stdio.h>
int main()
{
	int arr[2] = {1, 2, 3, 4, 5};
	printf("%d", arr[3]);
	return 0;
}

A. 3

B. 4

C. Some Garbage value

D. Compilation error

x

 

Option: C

Explanation

Here the size of an array is 2, but the value inside array is exceed 2. Thus it prints garbage value for index more than 1

Answer


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

#include<stdio.h>
int main()
{
	int a, b, c;	
	int arr[5] = {1, 2, 3, 25, 7};
	a = ++arr[1];
	b = arr[1]++;
	c = arr[a++];
	printf("%d--%d--%d", a, b, c);
	return 0;
}

A. 4--3--25

B. 3--3--25

C. 4--4--25

D. 3--4--25

x

 

Option: A

Explanation

here, a = ++arr[1];
i.e) a = 3 //arr[2];
b = arr[1]++;
i.e) b = 3 //arr[2];
c = arr[a++];
i.e) c = 25 //arr[4];
It must be noted that a value of a is increment ie ) a = 4;
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted.

Answer


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

#include<stdio.h>
int main()
{
	int arr[5] = {1, 3, 5, 7, 11};
	int *ptr, *ptr1;
	ptr = &arr;
	ptr1 = *ptr + 3;
	printf("%d--%d", *ptr, ptr1);	
}

A. 1--11

B. 1-7

C. 1--4

D. 1--some address

x

 

Option: C

Explanation

Here, ptr = &arr;
ptr = address of a first value in an array arr;
ptr1 = *(address of a first value in an array arr) + 3;
i.e) ptr1 = value of a first element in an array arr + 3;
i.e) ptr1 = 1 + 3;
i.e) ptr1 = 4;
printf("%d--%d", *ptr, ptr1);
printf("%d--%d", 1, 4);
Thus 1--4 is outputted.

Answer


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

#include<stdio.h>
int main()
{
	int arr[5] = { 1, 3, 5, 7, 11 };
	int *ptr;
	ptr = &arr;
	printf("%d", *ptr + 1);
}

A. 1

B. 2

C. 3

D. Runtime error

x

 

Option: B

Explanation

Here ptr = &arr;
ptr = address of a first value in an array arr;
*ptr = value of a first element in an array arr;
printf("%d", *ptr + 1);
printf("%d", 1 + 1);
Thus 2 is outputted.

Answer


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

#include<stdio.h>
int main()
{
	static char *arr[ ]  = {"bike", "bus", "car", "van"};
	char **ptr[ ] = {arr+3, arr+2, arr+1, arr};
	char ***p;
	p = ptr;
	**++p;
	printf("%s",*--*++p + 2);
}

A. Nothing prints

B. ke

C. ike

D. Compilation error

x

 

Option: C

Explanation

here, p = ptr;
p = address of first element in an array **ptr = [];
**++p;
i.e) **++(address of first element in an array **ptr = []);
i.e) **(address of second element in an array **ptr = [])
i.e) *(value of second element in an array **ptr[])
the above line is similar to the following line
*(address of car);
i.e) car; // final statement

Now, coming to printf

printf("%s",*--*++p + 2);
first let us examine the value *--*++p
*--*++p;
*--*++(address of second element in an array **ptr = [])
*--*(address of third element in an array **ptr = [])
*--(value of third element in an array **ptr[])
the above line is similar to the following line
*--(address of bus)
*(address of bike)
thus *--*++p = "bike"
Now, printf("%s","bike" + 2);
Thus ke is outputted.

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