Sail E0 Webinar

MCQs

Total Questions : 17 | Page 1 of 2 pages
Question 1.

 What does the following statement mean?

     int (*fp)(char*)

  1.    pointer to a pointer
  2.    pointer to an array of chars
  3.    pointer to function taking a char* argument and returns an int
  4.    function taking a char* argument and returning a pointer to int
 Discuss Question
Answer: Option C. -> pointer to function taking a char* argument and returns an int


pointer to function taking a char* argument and returns an int


Question 2.

Choose the right option

     string* x, y;

  1.    x is a pointer to a string, y is a string
  2.    y is a pointer to a string, x is a string
  3.    both x and y are pointer to string types
  4.    none of the mentioned
 Discuss Question
Answer: Option A. -> x is a pointer to a string, y is a string


* is to be grouped with the variables not the data types.


Question 3. Which of the following is illegal?
  1.    int *ip;
  2.    string s, *sp = 0;
  3.    int i; double* dp = &i;
  4.    int *pi = 0;
 Discuss Question
Answer: Option C. -> int i; double* dp = &i;


dp is initialized int value of i.


Question 4. The operator used for dereferencing or indirection is ____
  1.    *
  2.    &
  3.    ->
  4.    ->>
 Discuss Question
Answer: Option A. -> *


*


Question 5. Which one of the following is not a possible state for a pointer?
  1.    hold the address of the specific object
  2.    point one past the end of an object
  3.    zero
  4.    point to a tye
 Discuss Question
Answer: Option D. -> point to a tye


A pointer can be in only 3 states a,b and c.


Question 6. The correct statement for a function that takes pointer to a float, a pointer to a pointer to a char and returns a pointer to a pointer to a integer is
  1.    int **fun(float**, char**)
  2.    int *fun(float*, char*)
  3.    int ***fun(float*, char**)
  4.    int ***fun(*float, **char)
 Discuss Question
Answer: Option C. -> int ***fun(float*, char**)


int ***fun(float*, char**)


Question 7.

What will happen in this code?

     int a = 100, b = 200;

     int *p = &a, *q = &b;

     p = q;

  1.    b is assigned to a
  2.    p now points to b
  3.    a is assigned to b
  4.    q now points to a
 Discuss Question
Answer: Option B. -> p now points to b


Assigning to refrence changes the object to which the refrence is bound.


Question 8.

What is the output of this program?

#include < iostream >

using namespace std;

int main()

{

int a = 5, b = 10, c = 15;

int *arr[ ] = {&a, &b, &c};

cout

  1.    5
  2.    10
  3.    15
  4.    it will return some random number
 Discuss Question
Answer: Option D. -> it will return some random number


Array element cannot be address of auto variable. It can be address of static or extern variables.


Question 9.

What is the output of this program?

#include < iostream >

using namespace std;

int main()

{

char *ptr;

char Str[] = "abcdefg";

ptr = Str;

ptr += 5;

cout

  1.    fg
  2.    cdef
  3.    defg
  4.    abcd
 Discuss Question
Answer: Option A. -> fg


Pointer ptr points to string 'fg'. So it prints fg.


Question 10.

What is the output of this program?

#include < iostream >

using namespace std;

int main()

{

char arr[20];

int i;

for(i = 0; i < 10; i++)

*(arr + i) = 65 + i;

*(arr + i) = '\0';

cout

  1.    ABCDEFGHIJ
  2.    AAAAAAAAAA
  3.    JJJJJJJJ
  4.    none of the mentioned
 Discuss Question
Answer: Option A. -> ABCDEFGHIJ


Each time we are assigning 65 + i. In first iteration i = 0 and 65 is assigned. So it will print from A to J.


Latest Videos

Latest Test Papers