Vidyalelo
C Programming · all questions

Pointer
practice.

Practice every MCQ with options. Use Show answers when you want the correct option and solution.

253

Questions

3/13

Page

Pick an option on a question to see the right answer and solution.

The operator > and < are meaningful when used with pointers, if

Select an option to see the answer and solution.

The declaration
int (*p) [5];
means

Select an option to see the answer and solution.

Comment on the following?
const int *ptr;

Select an option to see the answer and solution.

Determine Output:
#include<stdio.h>
void main()
{
      int *ptr, a=10;
      ptr = &a;
      *ptr += 1;
      printf("%d, %d", *ptr, a);
}

Select an option to see the answer and solution.

A function 'p' that accepts a pointer to a character as argument and returns a pointer to an array of integer can be declared as

Select an option to see the answer and solution.

What will be printed after compiling and running the following code?
main() 
{ 
    char *p; 
    printf("%d %d",sizeof(*p), sizeof(p));
}

Select an option to see the answer and solution.

What will be the output of the following program code?
#include <stdio.h>
void main()
{
    int i=3, *j, **k;
    j = &i;
    k = &j;
    printf("%d%d%d", *j, **k, *(*k));
}

Select an option to see the answer and solution.

Which of the following is the correct way of declaring a float pointer:

Select an option to see the answer and solution.

Find the output of the following program.
void main()
{
   char *msg = "hi";
   printf(msg);
}

Select an option to see the answer and solution.

Find the output of the following program.
void main()
{
   int array[10];
   int *i = &array[2], *j = &array[5];
   int diff = j-i;
   printf("%d", diff);
}

Select an option to see the answer and solution.

Find the output of the following program.
void main()
{
   printf("%d, %d", sizeof(int *), sizeof(int **));
}

Select an option to see the answer and solution.

Find the output of the following program.
void main()
{
   int i=10;  /* assume address of i is 0x1234ABCD */
   int *ip=&i;
   int **ipp=&&i;
   printf("%x,%x,%x", &i, ip, *ipp);  
}

Select an option to see the answer and solution.

Which of the following statements are true after execution of the program.
void main()
{
   int a[10], i, *p;
   a[0] = 1;
   a[1] = 2;
   p = a;
   (*p)++;
}

Select an option to see the answer and solution.

What is the base data type of a pointer variable by which the memory would be allocated to it?

Select an option to see the answer and solution.

What would be the output for the following Turbo C code?
#include<stdio.h>
void main()
{
   int a[]={ 1, 2, 3, 4, 5 }, *p;
   p=a;
   ++*p;
   printf("%d ", *p);
   p += 2;
   printf("%d", *p);
}

Select an option to see the answer and solution.

char* myfunc(char *ptr)
{
   ptr+=3;
   return(ptr);
}

void main()
{
   char *x, *y;
   x = "EXAMVEDA";
   y = myfunc(x);
   printf("y=%s", y);
}

What will be printed when the sample code above is executed?

Select an option to see the answer and solution.

char *ptr;
char myString[] = "abcdefg";
ptr = myString;
ptr += 5;

what string does ptr point to in the sample code above?

Select an option to see the answer and solution.

What will be the output of the following C code?
#include <stdio.h>
int main()
{
    int i = 10;
    int *p = &i;
    foo(&p);
    printf("%d ", *p);
    printf("%d ", *p);
}
void foo(int **const p)
{
    int j = 11;
    *p = &j;
    printf("%d ", **p);
}

Select an option to see the answer and solution.

What will be the output of the following C code?
#include <stdio.h>
void main()
{
    char *s= "hello";
    char *p = s;
    printf("%c\t%c", *(p + 3),  s[1]);
}

Select an option to see the answer and solution.

What will be the output of the following C code?
#include <stdio.h>
void main()
{
    int a[3] = {1, 2, 3};
    int *p = a;
    int **r = &p;
    printf("%p %p", *r, a);
}

Select an option to see the answer and solution.