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.
31. What will be the output of the C program?
#include<stdio.h> int main(){ char *cities[] = {"UAE", "Spain", "America"}; int **i = &cities[0]; int **j = &cities[1]; int **k = &cities[2]; printf("%c%c%c\n", **i,**j,**k); return 0; }
Option: B
Let's illustrate with the diagram.
32. What will be the output of the C program?
#include<stdio.h> int main(){ char array[5] = "Knot", *ptr, i, *ptr1; ptr = &array[1]; ptr1 = ptr + 3; *ptr1 = 101; for(i = 0; i < 4;i++) printf("%c", *ptr++); return 0; }
Option: C
In the above program, we assigned the starting value of pointer variable is with the address of second element in an array i.e) Knot. Then we append the value 101 i.e)'e' to the ptr variable. Thus it prints note
33. What will be the output of the C program?
#include<stdio.h> int main() { char *ptr = "Pointer-to-String", i; printf("%s", ++ptr); return 0; }
Option: C
Here, the starting address i.e) The address of P is skipped by pre incrementing the address. "Noting more than that".
34. What will be the output of the C program?
#include<stdio.h> int main() { char *str = "His"; int i; for(i = 0; i < strlen(str); i++) printf("%s", str++); return 0; }
Option: A
The above program is some what cool. At first time strlen(str) will set to 3 as the character in str is 3. Thus it prints His
After printing His the value in str = is, then at second iteration of for loop the strlen(str) will set to 2 Thus is displays is
After printing is the value in str = s, then at third iteration of for loop the strlen(str) will set to 1 where for(;2<1;) is condition false and it terminate the program after second iteration of for loop. Thus summation of output is Hisis.
35. What will be the output of the C program?
#include<stdio.h> int main() { char arr[10] = "Mango", *ptr; ptr = (&arr[1]++); printf("%s",ptr++); return 0; }
Option: C
In the above program, increment operator cannot be operated with unary address of operator.
instead try ptr= (&arr[1]+1); to display ngo
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