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

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

C for loop Questions

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

#include<stdio.h>
int main()
{
	static char names[5][20] = {"C", "C++", "C#", "java", "python"};
	int i;
	char *t;
	t = names[3];
	names[3] = names[4];
	names[4] = t; 
	for (i = 0;i<=4;i++)
		printf("%s ", names[i]);
	return 0;
}

A. C C++ C# java

B. C C++ C# java python

C. Compilation error

D. None of the above

x

 

Option: C

Explanation

Array names are pointer constants. So it cannot be modified.

Answer


7. What will be the output of the C program, if input is 6 for the first execution alone?

#include<stdio.h>
int i;
int main()
{
	int t;
	for (t=4;scanf("%d",&i)-t;printf("%d\n",i))
	printf("%d--", t--);
	return 0;
}

A. 4--6

B. 6--

C. 4--

D. None of the above

x

 

Option: A

Explanation

Clearly, for (t=4;scanf("%d",&i)-t;printf("%d\n",i))
for (t=4;2;printf("%d\n",i))
Now for loop condition is true and printf() statement is executed and prints 4--
Now the control goes to increment part and prints 6.
Thus 4--6 is outputted.
Note this for ends only when you enter 0 as an input.

Answer


8. What will be the output of the C program by considering 'b' as a User input?

#include<stdio.h>
int main()
{
	int c[ ] = {2.8, 3.4, 4, 6.7, 5};
	int j, *p = c, *q = c;
	for(j=0;j<3;j++) 
	{
		printf(" %d ", *c);
		++q;  
	}
	for(j=0;j<3;j++)
	{
		printf(" %d ", *p);
		++p;   
	}
	return 0;
}

A. 2 3 4 2 3 4

B. 2 3 4 6 5 garbage value

C. 2 2 2 2 3 4

D. 2 2 2 3 4 6

x

 

Option: C

Explanation

In first for loop 2 2 2 is printed as there in no increment in *c, though increment is done in a variable q, it won't affect a pointer variable p.
In the next for loop 2 3 4 is printed as there is a direct increment in a pointer variable p.

Answer


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

#include<stdio.h>
int main()
{
	char i = 0;
	for(;i>=0;i++);
	printf("%d\n", i);
	return 0;
}

A. Compilation error

B. -128

C. 0

D. 1

x

 

Option: B

Explanation

for(;i>=0;i++); compiler executes this line until it becomes falls.
As i belongs to char type, for loop will exit when i = -128; because it loops from 0 to -128.

Answer


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

#include<stdio.h>
int main()
{
char s[ ] = "d";
int i;
for(i = 0;s[ i ];i++)
printf("%c %c %c %c",s[ i ], *(s+i), *(i+s), i[s]);
return 0;
}

A. Compilation error

B. d e f g

C. d d d d

D. None of the above

x

 

Option: C

Explanation

Simply s[i] represents s[0] = "d"
*(s+i) represents *(s + 0) = "d"
*(i+s) represents *s = "d"
i[s] represents 0[s] = "d".
Thus outputted d d d d

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