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

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

C Functions Questions

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

#include<stdio.h>
int function(int, int);
int main()
{
	int a = 25, b = 24 + 1, c;
	printf("%d", function(a, b));
	return 0;
}
int function(int x, int y)
{
	return (x - (x == y));		
}

A. Compilation error

B. 25

C. 1

D. 24

x

 

Option: D

Explanation

Here function() returns 24.

return (25 - (25 == 25));

return (25 - 1);

return 24;

Answer


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

#include<stdio.h>
int main()
{
	int num = _a_123(4);
	printf("%d\n", --num);
	return 0;
}
int _a_123(int num)
{
	return(num++);
}

A. 3

B. Compilation error

C. 4

D. 5

x

 

Option: A

Explanation

In this program _a_123( 4 ) is a valid function and it passes 4 as a value type. In function _a_123( int num ) we just return that number with post increment which means the function simply returns 4
Then in printf we display the value stored in the variable num with predecrement. Thus it outputted 3.

Answer


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

#include<stdio.h>
int main()
{
	char c = ' ', x;
	getc(c);
	if((c >= 'a') && (c <= 'z'))
	x = convert(c);
	printf("%c", x);
	return 0;
}

A. Runtime Error

B. Any symbols or special characters

C. Compilation Error

D. B

x

 

Option: C

Explanation

getc() can only be used in file handling and not to get a character

Answer


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

#include<stdio.h>
int main(){
	char arr[100];
	arr[0] = 'a';
	arr[1] = 'b';
	arr[2] = 'c';
	arr[4] = 'd';
	abc(arr);
	return 0;
}
abc(char arr[]){
	printf("%c", *++arr);
	printf("%c", *arr++);
}

A. bc

B. bb

C. cd

D. cc

x

 

Option: B

Explanation

abc() is a function which passes the address of first element in an array arr.
let us assume

ValueAddress
a2293428.
b2293429.
c2293430.
d2293431.

printf ("%c", *(++arr));

printf ("%c", *(++(2293428)));
printf ("%c", *(2293429));
printf ("%c", b);
Thus first printf outputted b

printf ("%c", *(arr++));

printf ("%c", *((2293429)));
printf ("%c", *(2293429));
printf ("%c", b);
Thus second printf also outputted b
Thus the output of two printf prints bb

Answer


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

#include<stdio.h>
int main()
{
	int num = returns(sizeof(float));
	printf("Value is %d", ++num);
	return 0;
}
int returns(int returns)
{
	returns += 5.01;
	return(returns);
}

A. 9

B. Compilation error

C. 10

D. None of the above

x

 

Option: C

Explanation

Here, returns() is a valid function, which passes 8 as a value type.Inside returns function we encounter
returns += 5.01;
i.e) returns = returns + 5.01;
returns = 4 + 5.01;
returns = 9;
Thus the function returns 9;
In printf it outputted the num variable with pre increment thus outputted 10.

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