The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
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.
1. What will be the output of the C program?
#include<stdio.h> int main(){ int a = 130; char *ptr; ptr = (char *)&a; printf("%d ",*ptr); return 0; }
Option: A
Here a variable a holds the value 130 of integer datatypes, which is then type casted to char datatypes using pointer variable. As we know that a value 130 is exceeding the char range( -128 to 127), thus it loops through its range.
128 = -128
129 = -127
130 = -126
140 = -125
2. What will be the output of the C program?
#include<stdio.h> int main(){ int i = 3; int *j; int **k; j = &i; k = &j; k++; printf("%d ",**k); return 0; }
Option: C
Here k is the pointer variable which holds the address of another pointer variable j. where j is also a pointer variable which also holds the address of another variable i. Now when the address of a pointer variable k is incremented by 1 , then k hold some other garbage value which is not the address of any other variable. Thus runtime error occurs.
3. What will be the output of the C program?
#include<stdio.h> int main(){ int i = 3; int *j; j = &i; j++; printf("%d ",*j); return 0; }
Option: D
Here j is the pointer variable which holds the address of another variable called i. When j is incremented, the address stored in j is incremented. As a result some garbage value will be displayed as we had not initialized anything to the address next to the address of a variable i.
4. What will be the output of the C program?
#include<stdio.h> #include<string.h> int main(){ char *ptr = "hello"; char a[22]; strcpy(a, "world"); printf("\n%s %s",ptr, a); return 0; }
Option: A
Simply, pointer variable ptr is initialized with the char string "hello" and a normal variable a is set to copy the string "world" using the inbuilt function strcpy. Thus it displayed hello world.
5. What will be the output of the C program?
#include<stdio.h> #include<string.h> int main(){ char *ptr = "hello"; char a[22]; *ptr = "world"; printf("\n%s %s",ptr, a); return 0; }
Option: C
ptr is a pointer variable of character data type, string "world" can be set to the pointer variable ptr only at the initializing time.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019