Q.1.

Which of the statements is correct about the program?

#include<stdio.h>

int main()
{
    int arr[3][= {4};
    printf("%d\n", *(*(*(arr))));
    return}
Q.2.

Which of the following statements correctly declare a function that receives a pointer to pointer to a pointer to a float and returns a pointer to a pointer to a pointer to a pointer to a float?

Q.3.

If a variable is a pointer to a structure, then which of the following operator is used to access data members of the structure through the pointer variable?

Q.4.

What will be the output of the program ?

#include<stdio.h>

int main()
{
    printf("%c\n", 7["IndiaBIX"]);
    return}
Q.5.

What will be the output of the program ?

#include<stdio.h>

int main()
{
    int x=*y, *z;
    y=&x; /* Assume address of x isand integer is 4 byte size */
    z=y;
    *y++=*z++;
    x++;
    printf("x=%d, y=%d, z=%d\n", x, y, z);
    return}
Q.6.

What will be the output of the program if the size of pointer is 4-bytes?

#include<stdio.h>

int main()
{
    printf("%d, %d\n", sizeof(NULL), sizeof(""));
    return}
Q.7.

Are the expression *ptr++ and ++*ptr are same?

Q.8.

Is there any difference between the following two statements?
char *p=0;
char *t=NULL;

Q.9.

What will be the output of the program ?

#include<stdio.h>

int main()
{
    char *p;
    p="hello";
    printf("%s\n", *&amp*&p);
    return}
Q.10.

What will be the output of the program assuming that the array begins at location

#include<stdio.h>

int main()
{
    int a[2][3][= { {2}, 
                       {};
    printf("%u, %u, %u, %d\n", a, *a, **a, ***a);
    return
}
Q.11.

What will be the output of the program ?

#include<stdio.h>

int main()
{
    int i=*j, k;
    j = &i;
    printf("%d\n", i**j*i+*j);
    return}
Q.12.

Point out the error in the program

#include<stdio.h>

int main()
{
    int a[] = {50};
    int j;
    for(j=j<j++)
    {
        printf("%d\n", a);
        a++;
    }
    return}
Q.13.

Which statement will you add to the following program to ensure that the program outputs "IndiaBIX" on execution?

#include<stdio.h>

int main()
{
    char s[] = "IndiaBIX";
    char t[25];
    char *ps, *pt;
    ps = s;
    pt = t;
    while(*ps)
        *pt++ = *ps++;

    /* Add a statement here */
    printf("%s\n", t);
    return}
Q.14.

Which of the statements is correct about the program?

#include<stdio.h>

int main()
{
    int i=    int *j=&i;
    return}
Q.15.

What will be the output of the program ?

#include<stdio.h>

int main()
{
    void *vp;
    char ch=*cp="JACK";
    int j=    vp=&ch;
    printf("%c", *(char*)vp);
    vp=&j;
    printf("%c", *(int*)vp);
    vp=cp;
    printf("%s", (char*)vp+2);
    return}
Q.16.

Will the program compile?

#include<stdio.h>
int main()
{
    char str[= "IndiaBIX";
    return}
Q.17.

Is this a correct way for NULL pointer assignment?
int i=0;
char *q=(char*)i;

Q.18.

What will be the output of the program ?

#include<stdio.h>
power(int**);
int main()
{
    int a=*aa; /* Address of 'a' is*/
    aa = &a;
    a = power(&aa);
    printf("%d\n", a);
    return}
power(int **ptr)
{
    int b;
    b = **ptr***ptr;
    return (b);
}
Q.19.

What will be the output of the program ?

#include<stdio.h>

int main()
{
    char str[= "Hello";
    char *const p=str;
    *p='M';
    printf("%s\n", str);
    return}
Q.20.

In the following program add a statement in the function fact() such that the factorial gets stored in j.

#include<stdio.h>
void fact(int*);

int main()
{
    int i=    fact(&i);
    printf("%d\n", i);
    return}
void fact(int *j)
{
    static int s=    if(*j!=    {
        s = s**j;
        *j = *j-        fact(j);
        /* Add a statement here */
    }
}