Quick links: HR Interview Que. Code Snippets C Programs C++ Programs Java Programs Scala Solved Examples PHP Examples

Home » C programming language

Find output of C programs Questions with Answers (Set - 1)

Question - 1

int main()
{
	int x[10]={0,1,2,3,4,5,6,7,8,9};
	int *ptr1,*ptr2;
	ptr1=&x[0];
	ptr2=&x[5];
	
	printf("%p\n",(ptr1+ptr2));
	
	return 0;
}

Output

error: invalid operands to binary + (have 'int *' and 'int *')

Explanation

Error in the statement printf("%p\n",(ptr1+ptr2));

Addition of two pointers is not allowed.


Sponsored Links

Question - 2

int main()
{
	int color=2;
	switch(color)
	{
		case 0: printf("Black");
		case 1: printf("Blue");
		case 2: printf("Green");
		case 3: printf("Aqua");
		default: printf("Other");
	}
	return 0;
}

Output

GreenAquaOther

Explanation

There are no break statements, so all the statements after case 2 will be executed including default statement.

Question - 3

int main()
{
	char str[10]="Hello";
	printf("%d,%d\n",strlen(str),sizeof(str));
	return 0;
}

Output

5,8

Explanation

strlen gives length of the string that is 5; sizeof gives total number of occupied memory for a variable that is 8; since str is a pointer so sizeof(str) may be 2,4 or 8. It depends on the computer architecture.

Question - 4

int main()
{
	char *str="Hello";
	printf("%d,%d\n",strlen(str),sizeof(str));
	return 0;
}

Output

5,10

Explanation

strlen gives length of the string that is 5; sizeof gives total number of occupied memory for a variable that is 10; Since str is a variable with maximum number of characters 10, so sizeof will be 10.

Question - 5

void test(struct number n)
{
	n.x=100;
}
struct number{ int x; };

int main()
{
	struct number num;
	test(num);
	printf("%d\n",num.x);	
	return 0;
}

Output

error: parameter 1 ('n') has incomplete type

Explanation

Structure number should be defined before test function definition.

Question - 6

int main()
{
	if(0);
		printf("Hello");
	printf("Hi");
	return 0;
}

Output

HelloHi

Explanation

There is a semicolon after the if statement, so this statement will be considered as separate statement; and here printf("Hello"); will not be associated with the if statement. Both printf statements will be executed.

Question - 7

int main()
{
	int x,y;
	int *ptr;
	x=100;
	ptr=&x;
	y=*ptr;
	printf("%d\n",y);
	return 0;
}

Output

100

Explanation

Here, y is assigned the value stored at the pointee variable, which is pointer through ptr.

Question - 8

int main() 
{
	int val=1;
	
	do{ 
		val++; 
		++val;
	}while(val++>25); 
	
	printf("%d\n",val); 
	
	return 0;
}

Output

4

Explanation

Here, do while loop executes once and then it will check condition while will be false meanwhile value will be increased 3 times (two times in do while body and once while checking the condition); hence value will be 4.

Question - 9

int main() 
{
	char *str="A%%B";
	printf("A%%B ");
	printf("%s\n",str);
	return 0;
}

Output

A%B A%%B

Explanation

printf("A%%B"); will print "A%B" because "%%" will always print "%" while str contains "A%%B" will print "A%%B" - in this statement "%%" will not replace with single "%"

Question - 10

int main() 
{
	printf("%d,%d,%d\n",sizeof(char*),
	sizeof(int*),sizeof(float*));;
	return 0;
}

Output

8,8,8

Explanation

No matter which kind of pointers are. Pointer variables take same bytes in the memory. The value may be 2, 4 or 8 depending on the computer architecture.

In our case we are using 64 bits computer architecture, so output is 8, 8, 8.


ANY DOUBT? WRITE HERE...

Keywords (like Linux, Java, Oracle etc) used in this website are the trademarks of their respective owners/company. This website is not affiliated to any company. The tutorials are designed by includehelp Team with the help of well known books and other online resources. These Tutorials are free for all, for learning purposes only. Enjoy learning:)
Copyright © 2015 - 2016. All Rights Reserved.