Knowledge check.

- Choose one best answer from given 4 choices for each questions.
- Review before submit as you wont get a chance to review after submit.
- Max Time for quiz is 30 mins and Exam is 90 mins.
- Login is not required for an exam or a quiz.
- By submitting you formally acknowledge and accept terms and conditions mentioned here.

Question Number 1

Give the output of the following code snippet :
struct
{
    char *name;
    union
    {
        char *sval;
    } u[5];
} symtab[10];
void main()
{
    symtab[0].u[0].sval="HelloWorld";
    printf("%s",symtab[0].u[0].sval);
}

Question Number 2

Give the output of the following code snippet :
struct stud
{
    int no;
    int no2;
    stud *next;
};
void main()
{
    struct stud s;
    struct stud *temp=(stud*)malloc(sizeof(stud));
    temp->next=NULL;
    s.no=1001;
    printf("%d",sizeof(temp));
}

Question Number 3

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
void func()
{
    int value = 200;
    printf ( "Output = %d\n", value );

}
/* Test1.c */

void func();


/* Test2.c */
#include"Test1.h"

static int value = 100;
void main ()
{
    func();
    printf ( "Output = %d\n", value );
}

Question Number 4

Give the output of the following code snippet :
void disp(int num,...);
int func();
void main()
{
    int (*ptr)();
    ptr=func;
    disp("Test",ptr);
}
void disp(int num,...)
{
    int (*pfun)();
    va_list ptr;
    typedef int(*funcptr)();
    va_start(ptr,num);
    pfun=va_arg(ptr,funcptr);
    (*pfun)();
}
int func()
{
    printf("Hello World");
    return 0;
}

Question Number 5

Give the output of the following code snippet :
void main()
{
    int row=2,col=2;
    int *arr;
    int i,j;
    arr=(int*)malloc(2*2*sizeof(int));
    for(i=0; i< row; i++)
    {
        for(j=0; j< col; j++)
        {
            arr[i*col+j]=i*i;
            printf("%d ",arr[i*col+j]);
        }
    }

}

Question Number 6

Give the output of the following code snippet :
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    _asm
    {
        mov eax, 10
        push eax
        push 100
        push 200
        push 300
        mov ebx, dword ptr[esp]
        mov a, ebx
        mov ebx, dword ptr[esp-4]
        mov b, ebx
        mov ebx, dword ptr[esp-8]
        mov c, ebx
        add esp, 0x10

    }
    printf( "%d %d %d",a,b,c);
}

Question Number 7

Give the output of the following code snippet :
struct node
{
    int data;
    struct node *next;
}*head=0;

void addtoLoc( int n,int num )
{
    struct node *temp2,*temp;
    temp2=head;
    if(temp2==NULL)
    {
        printf("Empty List");
        return;
    }
    for(int i=1; i< =n; i++)
    {
        temp2=temp2->next;
        if(temp2==NULL)
            return;
    }
    temp=(struct node *)malloc(sizeof(struct node));
    temp->data=num;
    temp->next=temp2->next;
    temp2->next=temp;
}

void  display()
{
    struct node *r;
    r=head;
    while(r!=NULL)
    {
        printf("%d ",r->data);
        r=r->next;
    }
}

void add( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->data=num;
    temp->next=head;
    head=temp;
}
void main()
{
    add(100);
    add(200);
    addtoLoc(0,400);
    addtoLoc(4,300);
    display();
}

Question Number 8

Give the output of the following code snippet :
int main()
{
    int a = 20;
    int b = 20;

    if ((a >> 1) == (a / 2))
        printf("True ");
    else
        printf("False");
}

Question Number 9

Give the output of the following code snippet :
int main()
{
    int a = 10;
    int b = 20;
    int c = 30;
    _asm
    {
        push eax
        push a
        push b
        mov ebx, dword ptr[esp]
        mov a, ebx
        pop b
        pop eax
        mov ebx, dword ptr[esp+4]
        mov b,ebx
        add esp, 0x10

    }
    printf( "%d %d",a,b);
}

Question Number 10

Give the output of the following code snippet :
int main()
{
    float x=0.3,y=10.89,z=20.68;
    if( x == 0.3)
        printf("%.0f",fmod(z,y));
    else
        printf("%.0f",fmod(y,z));
}

Question Number 11

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void SortList()
{
    node *temp1,*temp2,*temp3,*temp4,*temp5;
    temp4=NULL;
    while(temp4!=Head->next)
    {
        temp3=temp1=Head;
        temp2=temp1->next;
        while(temp1!=temp4)
        {
            if(temp1->x > temp2->x)
            {
                if(temp1==Head)
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    Head = temp2;
                    temp3=temp2;
                }
                else
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    temp3->next = temp2;
                    temp3=temp2;
                }
            }
            else
            {
                temp3=temp1;
                temp1=temp1->next;
            }
            temp2=temp1->next;
            if(temp2 == temp4)
                temp4=temp1;
        }
    }
}
void AddNode( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->x=num;
    temp->next=Head;
    Head=temp;

}
void  Display()
{
    struct node *r;
    r=Head;
    while(r!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    AddNode(20);
    SortList();
    Display();
}

Question Number 12

Give the output of the following code snippet :
typedef struct stud *s;
void func(struct stud *stuobj);
struct stud
{
    int no;
    int no2;
    s link;
};

void main()
{
    struct stud s= {1001,1002};
    func(&s);
}
void func(struct stud *stuobj)
{
    struct stud *s;
    s=stuobj;
    printf("%d",s->no);
}

Question Number 13

Give the output of the following code snippet :
int main()
{
    int a = 10, b = 20,c=5;
    _asm
    {
        inc dword ptr[a]
        mov eax,dword ptr[a]
        dec dword ptr[b]
        mov ebx,dword ptr[b]
        mov ecx,10
        and ecx,ebx
        mov dword ptr[c],ecx

    }
    printf("%d",c);
}

Question Number 14

Give the output of the following code snippet :
int main()
{
    int a,b,c=20;
    _asm
    {
        mov dword ptr[a],15
        mov dword ptr[b],10
        or ebx,dword ptr[c]
        mov eax,dword ptr[c]
        xor ebx,eax
        inc ebx
        mov a,ebx
    }
    printf("%d",a);
}

Question Number 15

Give the output of the following code snippet :
void disp(int num,...)
{
    print(num,...);
}
void print(int num,...)
{
    int i,k;
    float j;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,double);
    printf("%.2f ",j);
    va_end(marker);
}
int main(int argc, char *argv[])
{
    print(1,2.2,3.3,4.4);
}

Question Number 16

Give the output of the following code snippet :
union student
{
    int rollno;
    char *name;
};
int main()
{
    union student stud[5];
    stud[0].name = "Jenn";
    stud[1].rollno = 101;
    printf("%s\n", stud[1].name);
}

Question Number 17

Give the output of the following code snippet :
void f(char *k)
{

    k[2] = 'm';
    printf("%s\n", k);
}
void main()
{
    char s[] = "hello";
    f(s);
}

Question Number 18

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void SortList()
{
    node *temp1,*temp2,*temp3,*temp4,*temp5;
    temp4=NULL;
    while(temp4!=Head->next)
    {
        temp3=temp1=Head;
        temp2=temp1->next;
        while(temp1!=temp4)
        {
            if(temp1->x > temp2->x)
            {
                if(temp1==Head)
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    Head = temp2;
                    temp3=temp2;
                }
                else
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    temp3->next = temp2;
                    temp3=temp2;
                }
            }
            else
            {
                temp3=temp1;
                temp1=temp1->next;
            }
            temp2=temp1->next;
            if(temp2 == temp4)
                temp4=temp1;
        }
    }
}
void AddNode( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->x=num;
    temp->next=Head;
    Head=temp;
}
void  Display()
{
    struct node *r;
    r=Head;
    while(r!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
    printf("\n");
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    AddNode(20);
    AddNode(3);
    Display();
    SortList();
    Display();

}

Question Number 19

Give the output of the following code snippet :
int main()
{
    int i, *j, k;
    _asm
    {
        mov         dword ptr[i], 0Fh
        lea         eax, [i]
        mov         dword ptr[j], eax
        mov         ecx, dword ptr[j]
        mov         eax, dword ptr[i]
        sub        eax, dword ptr[ecx]
        mov         ecx, dword ptr[j]
        cdq
        imul        dword ptr[ecx]
        add        eax, dword ptr[i]
        mov         dword ptr[k], eax
    }
    printf("%d\n", k);
    return 0;
}

Question Number 20

Give the output of the following code snippet :
void main()
{
    int i, sum = 0, j = 5;
    _asm
    {
        mov         dword ptr[i], 0
        jmp         Label1
        Label4 : mov         eax, dword ptr[i]
        add         eax, 1
        mov         dword ptr[i], eax
        Label1 : cmp         dword ptr[i], 5
        jge         Label2

        cmp         dword ptr[i], 3
        jne         Label3

        jmp         Label2

        Label3 : mov         ecx, dword ptr[i]
        imul        ecx, dword ptr[j]
        add         ecx, dword ptr[sum]
        mov         dword ptr[sum], ecx

        jmp         Label4

    }
Label2:	printf("%d", sum);
}

Question Number 21

Give the output of the following code snippet :
void main()
{
    typedef long int lint;
    typedef lint l;
    l a,b;
    lint c;
    a=100,b=200;
    c=a+b;
    printf("%d %d",b,a);
}

Question Number 22

Files Test1.c, Test1.h, Test2.c, Test2.h and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
void func1(int);
extern int arg = 10;


/* Test2.h */
extern int value;
void func(int);

/* Test1.c */

#include"Test2.h"
void func1(int);
void func(int arg)
{
    func1(arg);
    value = 200;
    printf("Output = %d\n",arg+value);
}

/* Test2.c */
#include"Test2.h"

void func1(int arg)
{
    printf ( "Output = %d\n", arg+value );

}



/* Test3.c */

#include "Test1.h"
#include "Test2.h"

int value = 300;
void main ()
{
    func1(arg);

}

Question Number 23

Give the output of the following code snippet :
int main()
{
    int *p = (int *)10;
    int *q = (int *)6;
    printf("%d", p % q);
}

Question Number 24

Give the output of the following code snippet :
struct student
{
    char *c;
};
void main()
{
    struct student m;
    struct student *s = &m;
    s->c = "SourceLens";
    printf("%s", m.c);
}

Question Number 25

Give the output of the following code snippet :
int main()
{
    struct Temp
    {
        int one:2;
    };
    struct Temp var = {1};
    printf("%d\n", var.one);
    return 0;
}

Question Number 26

Give the output of the following code snippet :
struct node
{
    int data;
    struct node *next;
    struct node *prev;
}*head;

void func( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->data=num;
    temp->next=head;
    temp->prev=NULL;
    while(head!=NULL)
        head=head->next;
    head=temp;


}

void  display()
{
    struct node *r;
    r=head->next;
    while(r!=NULL)
    {
        printf("%d ",r->data);
    }
}

void main()
{
    func(100);
    func(200);
    func(300);
    func(400);
    display();
}

Question Number 27

Give the output of the following code snippet :
struct q
{
    char *name;
    struct q *next;
};
struct q *ptrary[10];
int main()
{
    struct q *p;
    p->name = "Hello";
    ptrary[0] = &p;
    printf("%s\n", p->name);
    return 0;
}

Question Number 28

Give the output of the following code snippet :
int main()
{
    float x=0.3,y=10.89,z=20.68;
    if( x > 0.3)
        printf("%.2f",fmod(z,y));
    else
        printf("%.2f",fmod(y,z));
}

Question Number 29

Give the output of the following code snippet :
struct student
{
    char *c;
    struct student point;
};
void main()
{
    struct student s;
    struct student m;
    s.c = m.c = "Hello";
    m.point = &s;
    (m.point)->c = "World";
    printf("%s %s", s.c, m.c);
}

Question Number 30

Give the output of the following code snippet :
void main()
{
    int (*a)[2] = {1, 2, 3, 0};
    for (int i = 0; i <  2; i++)
        for (int j = 0; j <  2; j++)
            printf("%d ", **a);
}

Question Number 31

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void ReverseList()
{
    node *temp1,*temp2,*temp3;
    temp1=Head;
    temp2=NULL;
    while(temp1!=NULL)
    {
        temp3=temp2;
        temp2=temp1;
        temp1=temp1->next;
        temp2->next=temp3;
    }
    Head=temp2;
}
void AddNode( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->x=num;
    temp->next=Head;
    Head=temp;

}
void  Display()
{
    struct node *r;
    r=Head->next;
    while(r!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
    printf("\n");
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    AddNode(100);
    AddNode(200);
    ReverseList();
    Display();
}

Question Number 32

Give the output of the following code snippet :
void main()
{
    int i, sum = 0;
    _asm
    {
        mov         dword ptr[i], 0
        jmp         Label1
        Label3 : mov         eax, dword ptr[i]
        add         eax, 1
        mov         dword ptr[i], eax
        Label1 : cmp         dword ptr[i], 3
        jge         Label2

        mov         ecx, dword ptr[i]
        imul        ecx, dword ptr[i]
        add         ecx, dword ptr[sum]
        mov         dword ptr[sum], ecx

        jmp         Label3

    }
Label2:	printf("%d", sum);
}

Question Number 33

Consider the given lines of code : When is the else{} part of the code executed?
void add( int num )
{
    struct node *temp,*temp2;
    if (head== NULL)
    {
        temp=(struct node *)malloc(sizeof(struct node));
        temp->data=num;
        temp->next=NULL;
        head=temp;
    }
    else
    {
        temp=head;
        while (temp->next!=NULL)
            temp=temp->next;
        temp2=(struct node *)malloc(sizeof(struct node));
        temp2->data=num;
        temp2->next=NULL;
        temp->next=temp2;
    }

}

Question Number 34

Give the output of the following code snippet
int main()
{
    void *p;
    int a[4] = {1, 2, 3, 4};
    p = &a[3];
    int *ptr = &a[2];
    int n = p - ptr;
    printf("%d\n", n);
}

Question Number 35

Consider the given structure and state whether it is a self referencing structure :
struct node
{
    int x;
    int *next;
};

Question Number 36

Give the output of the following code snippet :
int main()
{
    int a = 20, b = 10,c=2;
    _asm
    {
        mov eax,esp
        mov ebx,100
        push dword ptr[a]
        push dword ptr[b]
        mov ecx,esp
        pop dword ptr[a]
        sub eax,ecx
        mov a,eax
        mov b,ebx
        mov c,ecx
        pop dword ptr[b]
    }
    printf("%d %d",b,c);
}

Question Number 37

Give the output of the following code snippet :
void main()
{
    char *str="1001";
    char *str2="1002";
    int x;
    x=atoi(str)+atoi(str2);
    printf("%d",x);
}

Question Number 38

Give the output of the following code snippet :
int main()
{
    int c=10;
    _asm
    {
        mov c,100
        add c,100
        mov c, eax
    }
    printf("%d", c);
}

Question Number 39

Give the output of the following code snippet :
struct point
{
    int x;
    int y;
};
void func(struct point*);
int main()
{
    struct point p1 = {1, 2};
    func(&p1);
    printf("%d\n", p1.x++);
}
void func(struct point *p)
{
    p->x = 10;
}

Question Number 40

Give the output of the following code snippet :
void main()
{
    int a = 5;
    _asm
    {
        mov         eax, dword ptr[a]
        mov         dword ptr[ebp - 0D0h], eax
        cmp         dword ptr[ebp - 0D0h], 5
        je          Label1
        cmp         dword ptr[ebp - 0D0h], 6
        je          Label2
        jmp         Label3

        Label1 : mov         eax, dword ptr[a]

        add         eax, 5
        mov         dword ptr[a], eax

        Label2 : mov         eax, dword ptr[a]
        add         eax, 0Ah
        mov         dword ptr[a], eax

    }
Label3:	printf("%d", a);
}

Question Number 41

Give the output of the following code snippet :
void main()
{
    enum days {MON=1,TUES,WED,THURS,FRI};
    enum val;
    for(int i=MON; i< FRI; i++)
    {
        printf("%d  ",i);
    }
}

Question Number 42

Give the output of the following code snippet :
void func(int i)
{
    void *j;
    j=&i;
    printf("%d",*(int*)j);
}
void main()
{
    int x=10;
    func(x);
}

Question Number 43

Give the output of the following code snippet :
int f()
{
    int*p;
    int x=100;
    p=&x;
    return *p;
}
void main()
{
    int *ptr;
    ptr=f();
    printf("%d",*ptr);
}

Question Number 44

Give the output of the following code snippet :
void main()
{
    char str1[15]="Hello World";
    char str[10]="Yellow";
    char str2[10]="\0World";
    strcat(str,str2);
    printf("%d",strlen(str1));
}

Question Number 45

Give the output of the following code snippet :
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    _asm
    {
        mov eax, 10
        push eax
        mov ebx, 20
        push ebx
        push 200
        push 100
        mov ecx, 30
        push ecx
        mov edx, 40
        push edx
        mov ebx, dword ptr[esp]
        mov a, ebx
        mov ebx, dword ptr[esp+4]
        mov b, ebx
        mov ebx, dword ptr[esp+8]
        mov c, ebx
        mov ebx, dword ptr[esp+12]
        mov d, ebx
        add esp, 0x10

    }
    printf( "%d %d %d %d", a, b, c, d );
}

Question Number 46

Give the output of the following code snippet :
void main()
{
    int a=10,c=50,b=30;
    _asm
    {
        mov eax,30
        mov ebx,a
        sub eax,dword ptr[b]
        jc Label2
        add eax,ebx
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        cmp eax,ecx
        jne Label1
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 47

Give the output of the following code snippet with the following command line arguments : >Testfile.c one two three
/* Testfile.c */

int main(int argc, char *argv[])
{
    printf("%d %s", argc, argv[2]);
    return 0;
}

Question Number 48

Give the output of the following code snippet :
int main()
{
    int ary[4] = {1, 2, 3, 4};
    int *p = ary + 1;
    printf("%d\n", p[0]);
}

Question Number 49

Give the output of the following code snippet :
void func(struct stud stuobj)
{
    struct stud s;
    s=stuobj;
    printf("%d",s.no);
}
struct stud
{
    int no;
    int no2;
};

void main()
{
    struct stud s;
    s.no=1001;
    func(s);
}

Question Number 50

Give the output of the following code snippet :
void print(...)
{
    int i;
    va_list marker;
    va_start(marker,first);
    do
    {
        i=va_arg(marker,int);
        printf("%d ",i);
    }
    while(i!=6);
    va_end(marker);
}
int main(int argc, char *argv[])
{
    print("Test",2,4,'D',-1);
}

Question Number 51

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void SortList()
{
    node *temp1,*temp2,*temp3,*temp4,*temp5;
    temp4=NULL;
    while(temp4!=Head->next)
    {
        temp3=temp1=Head;
        temp2=temp1->next;
        while(temp1!=temp4)
        {
            if(temp1->x <  temp2->x)
            {
                if(temp1==Head)
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    Head = temp2;
                    temp3=temp2;
                }
                else
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    temp3->next = temp2;
                    temp3=temp2;
                }
            }
            else
            {
                temp3=temp1;
                temp1=temp1->next;
            }
            temp2=temp1->next;
            if(temp2 == temp4)
                temp4=temp1;
        }
    }
}
void AddNode( int num )
{
    struct node *temp,*temp2;
    if(Head==NULL)
    {
        temp2=(struct node *)malloc(sizeof(struct node));
        temp2->x=num;
        temp2->next=NULL;
        Head=temp2;
    }
    else
        temp=Head;
    while(temp->next!=NULL)
        temp=temp->next;
    temp2=(struct node *)malloc(sizeof(struct node));
    temp2->x=num;
    temp2->next=NULL;
    temp->next=temp2;
}

void  Display()
{
    struct node *r;
    r=Head->next;
    while(r!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
    printf("\n");
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    AddNode(20);
    AddNode(3);
    AddNode(100);
    AddNode(50);
    SortList();
    Display();
}

Question Number 52

Give the output of the following code snippet :
union Test
{
    char str[20];
};

int main()
{
    union Test st1, st2;
    strcpy(st1.str, "Hello");
    st2 = st1;
    st1.str[0] = 'J';
    printf("%s",st1.str);
}

Question Number 53

Give the output of the following code snippet :
int main()
{
    int *p = (int *)12;
    int *q = (int *)4;
    printf("%d", p - q);
}

Question Number 54

Give the output of the following code snippet :
int main()
{
    int x=100,y=100,z=200;
    int a= --z || ++y && x--;
    int c= ++x % --y;
    int b=(20,30,40)+a+(10,20,30,20)+c;
    printf("%d %d",b,c);
}

Question Number 55

Give the output of the following code snippet :
void main()
{
    char arry[10]="Hello";
    char str[15]="World";
    const char* ptr=str;
    *str='Y';
    printf("%s",str);
}

Question Number 56

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */

int value = 100;
void func();

/* Test1.c */

void func()
{
    printf ( "Output = %d", value );

}

/* Test2.c */

#include"Test1.h"

void main ()
{
    printf ( "Output = %d\n", value );
    func();

}

Question Number 57

Give the output of the following code snippet :
int main()
{
    int a = 0;
    int b = 1;

    int c = a >> 3;
    int d = b >> 4;

    if(c == d)
        printf("True");
    else
        printf("False");

}

Question Number 58

Give the output of the following code snippet :
int DecimalToOctal(long quotient)
{
    long remainder;
    int octalNumber[100], i = 1, j;
    while (quotient != 0)
    {
        octalNumber[i++] = quotient % 8;
        quotient = quotient / 8;
    }
    for (j = i - 1; j > 0; j--)
        printf("%d", octalNumber[j]);
    return 0;
}
void main()
{
    DecimalToOctal(100);
}

Question Number 59

Give the output of the following code snippet :
struct student
{
    char *name;
};
void func(struct student s)
{
    struct student *s1;
    s1=&s;
    strcpy(s1->name,"Jenn");
    printf("%s\t", s1->name);
}
void main()
{
    struct student s;
    func(s);
}

Question Number 60

Give the output of the following code snippet :
void main()
{
    int x=10,y=20,z=0;
    if(x+y>!(y-x) || x-y< !(y+x))
    {
        x=100;
        y=200;
        z=!(x*y)/x;
    }
    else
        z=300;
    printf("%d %d %d",x,y,z);
}

Question Number 61

Give the output of the following code snippet :
void main()
{
    typedef unsigned int uint;
    typedef float fl;
    uint x=100,y=200;
    fl p=100.25,q=200.50;
    unsigned int a=300,b=400;
    int z = x+y-a/b;
    float w= q/p;
    float v=z/w;
    printf("%d",z);
}

Question Number 62

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */

int value;
void func();

/* Test1.c */

extern int value;
void func()
{
    printf ( "Output = %d", value );

}

/* Test2.c */

#include"Test1.h"

void main ()
{
    printf ( "Output = %d\n", value );
    func();

}

Question Number 63

Give the output of the following code snippet :
int main()
{
    char str1[15] = "Hello";
    char *str;
    str=str1;
    while(*str!='\0')
    {
        *str=*str+2;
        str++;
    }
    printf("%s",str1);
    return 0;
}

Question Number 64

Give the output of the following code snippet :
void main()
{
    int a = 3, b = 6, c;
    _asm
    {
        cmp         dword ptr[a], 3
        jne         Label1
        cmp         dword ptr[b], 0Ah
        jne         Label1
        mov         eax, dword ptr[a]
        imul        eax, dword ptr[b]
        mov         dword ptr[c], eax
        jmp         Label2
        Label1 : mov         eax, dword ptr[b]
        cdq
        idiv        dword ptr[a]
        mov         dword ptr[c],eax

    }
Label2:	printf("%d", c);
}

Question Number 65

Give the output of the following code snippet :
typedef int INT;
typedef float FLOAT;
void main()
{
    FLOAT a=100,b=200;
    INT x=10,y=20;
    float c=10;
    c=a+b-x/y;
    printf("%.2f %.2f",a+b,c);
}

Question Number 66

Give the output of the following code snippet :
int main()
{
    int i = 0, a = 105;
    _asm
    {
        mov         eax, dword ptr[i]

        add         eax, 1
        mov         dword ptr[i], eax

        Label2 : cmp         dword ptr[i], 0
        jne         Label1

        mov         ecx, dword ptr[i]
        sub         ecx, 1
        mov         dword ptr[i], ecx

        jmp         Label2

} Label1:
    printf("%d", a);
}

Question Number 67

Give the output of the following code snippet :
void main()
{
    int a=50,c=10,b=10;
    _asm
    {
        mov eax,10
        mov ebx,a
        sub eax,dword ptr[c]
        jnb Label2
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        cmp eax,ecx
        je Label1
        add eax,dword ptr[b]
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 68

Give the output of the following code snippet :
int main()
{
    float x = 0.3;
    int y=10;
    if (x == 0.3)
        printf("%d",y++);
    else if (x == 0.3f)
        printf("%d",++y);
    else
        printf("%d",--y);
}

Question Number 69

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b =0, c=0,d=0;
    __asm
    {
        push 10
        push 20
        mov ebx,30
        mov eax, 40
        mov ecx,60
        push 50
        call label1
        mov a,eax
        mov b,ebx
        add esp, 12
        jmp Label2
        label1:
        mov d,eax
        mov eax, dword ptr[esp + 4]
        mov a, eax
        add a, ebx
        mov eax, dword ptr[esp + 8]
        mov b, eax
        mov eax, dword ptr[esp + 12]
        or ebx,ecx
        xor edx,ecx
        mov c,eax
        mov d,edx
        ret
    }
Label2:
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 70

Give the output of the following code snippet :
void main()
{
    char *str[15]= {"This","is","a","Hello","World","Program"};
    char *x;
    x=str[4];
    str[4]=str[5];
    str[5]=x;
    printf("%s",str[0]);
}

Question Number 71

Give the output of the following code snippet :
int main()
{
    float x = 0.3;
    int y=10;
    if (x <  0.3f)
        printf("%d %d %d",sizeof(x),sizeof(0.3),sizeof(0.3f));
    else
        printf("Hello World");
}

Question Number 72

Give the output of the following code snippet :
int main()
{
    char *Pa1;
    char c = 'D';
    _asm
    {
        lea         eax, [c]
        mov         dword ptr[Pa1], eax
    }
    printf("%d", *Pa1);
}

Question Number 73

Give the output of the following code snippet :
int main()
{
    int a = 5, b = 10, c=5;
    _asm
    {
        mov eax,a
        mov ebx,b
        shr eax,3
        shl ebx,4
        mov dword ptr[a],eax
        mov dword ptr[b],ebx
    }
    printf("%d %d",a,b);
}

Question Number 74

Which of the following are valid pointer operations in C?
< NIL>

Question Number 75

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
extern int arg;
void func(int);
/* Test1.c */
#include "Test1.h"

int arg = 10;
void func(int arg)
{
    value=200;
    printf ( "Output = %d\n", arg+value );

}


/* Test2.c */
#include "Test1.h"

static int value = 200;

void main ()
{
    value = 300;
    func(arg+value);
}

Question Number 76

Give the output of the following code snippet :
void main()
{
    int a = 10;
    _asm
    {
        mov         eax, dword ptr[a]
        sub         eax, 5
        mov         dword ptr[ebp - 0D0h], eax
        cmp         dword ptr[ebp - 0D0h], 5
        je          Label1
        cmp         dword ptr[ebp - 0D0h], 0Ah
        je          Label2
        cmp         dword ptr[ebp - 0D0h], 0Fh
        je          Label3
        jmp         Label4

        Label1 : mov         dword ptr[a], 0Ah

        jmp         Label4

        Label2 : mov         dword ptr[a], 32h

        jmp         Label4

        Label3 : mov         dword ptr[a], 64h

    }
Label4:	printf("%d", a);
}

Question Number 77

Give the output of the following code snippet :
int main()
{
    int i, *p, q;
    _asm
    {
        mov         dword ptr[i], 1Fh
        lea         eax, [i]
        mov         dword ptr[p], eax
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        add         edx, 0Fh
        mov         eax, dword ptr[p]
        mov         dword ptr[eax], edx
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        mov         dword ptr[q], edx
        mov         eax, dword ptr[p]
        sub         eax, 6
        mov         dword ptr[p], eax
    }
    printf("%d", q);
}

Question Number 78

Give the output of the following code snippet :
void main()
{
    char s1[]="Hello";
    char *s2;
    int len=sizeof(s1);
    s2=(char*)malloc(len);
    memcpy(s2,s1);
    puts(s2);
}

Question Number 79

Give the output of the following code snippet :
int ConvertToHex(long int binVal)
{
    long int hexVal = 0, i = 1, rem=0;
    while (binVal != 0)
    {
        rem = binVal % 10;
        hexVal = hexVal + rem * i;
        i = i * 2;
        binVal = binVal / 10;
    }
    printf("%lX", hexVal);
    return 0;
}

void main()
{
    ConvertToHex(1);
}

Question Number 80

Give the output of the following code snippet :
struct p
{
    char *name;
    struct p *next;
};
struct p *ptrary;
int main()
{
    struct p p, q;
    p.name = "SourceLens";
    ptrary= &p;
    strcpy(q.name, p.name);
    ptrary = &q;
    printf("%s\n", ptrary->name);
    return 0;
}

Question Number 81

Consider the following snippet : Give the importance of the following lines : for(int i=1;i<=n;i++) { temp2=temp2->next; }
void addtoLoc( int n,int num )
{
    struct node *temp2,*temp;
    temp2=head;
    if(temp2==NULL)
    {
        printf("Empty List");
        return;
    }
    for(int i=1; i< =n; i++)
        temp2=temp2->next;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->data=num;
    temp->next=temp2->next;
    temp2->next=temp;
}

Question Number 82

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b =0, c=0;
    __asm
    {
        push 10
        push 20
        mov ebx,30
        mov eax, 40
        mov ecx,label1
        call ecx
        add esp, 8
        cmp eax,ecx
        jle Label2
        label1:
        mov eax, dword ptr[esp + 4]
        mov a, eax
        mov eax, dword ptr[esp + 12]
        mov b, eax
        mov eax, dword ptr[esp + 8]
        mov c, eax
        ret
    }
Label2:
    printf("%d %d %d", a, b, c);

}

Question Number 83

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void SortList()
{
    node *temp1,*temp2,*temp3,*temp4,*temp5;
    temp4=NULL;
    while(temp4!=Head->next)
    {
        temp3=temp1=Head;
        temp2=temp1->next;
        while(temp1!=temp4)
        {
            if(temp1->x > temp2->x)
            {
                if(temp1==Head)
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    Head = temp2;
                    temp3=temp2;
                }
                else
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    temp3->next = temp2;
                    temp3=temp2;
                }
            }
            else
            {
                temp3=temp1;
                temp1=temp1->next;
            }
            temp2=temp1->next;
            if(temp2 == temp4)
                temp4=temp1;
        }
    }
}
void AddNode( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->x=num;
    temp->next=Head;
    Head=temp;

}
void  Display()
{
    struct node *r;
    r=Head;
    while(r!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
    printf("\n");
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    AddNode(20);
    AddNode(3);
    AddNode(100);
    AddNode(50);
    SortList();
    Display();
}

Question Number 84

Give the output of the following code snippet :
#define valx 2
#define valy 2
#define valz 2
void main()
{
    int ***arr;
    int i,j,k;
    arr=(int**)malloc(valx*sizeof(int**));
    for(i=0; i< valx; i++)
    {
        arr[i]=(int**)malloc(valy*sizeof(int*));
        for(j=0; j< valy; j++)
            arr[i][j]=(int*)malloc(valz*sizeof(int));
    }
    for(k=0; k< valz; k++)
    {
        for(i=0; i< valx; i++)
        {
            for(j=0; j< valy; j++)
            {
                arr[i][j][k]=i+j+k;
                printf("%d ",arr[i][j][k]);
                break;
            }
        }
    }
}

Question Number 85

Give the output of the following code snippet :
int main()
{
    int i = 10;
    int *p = &i;
    printf("%f\n", *(float*)p);
    return 0;
}

Question Number 86

Give the output of the following code snippet :
int main()
{
    int x=100,y=200;
    int z=++x || y--;
    if(z > x%y & y%x)
        printf("%d",z++- ++x);
    else
        printf("%d",z--+ --y);
}

Question Number 87

Give the output of the following code snippet :
void func(float *i)
{
    *i=200.5;
}

void func2(float i)
{
    i=300.75;
}
int main()
{
    float i=100.25;
    func(&i);
    func2(i);
    printf("%.2f ", i);
}

Question Number 88

Give the output of the following code snippet :
void print(char *str,...)
{
    int i;
    va_list marker;
    va_start(marker,str);
    i=va_arg(marker,int);
    i=va_arg(marker,int);
    printf("%d",i);
    va_end(marker);
}
int main()
{
    print("Start ",2,4,-1);
}

Question Number 89

Give the output of the following code snippet :
int main()
{
    int a = 20, b = 10,c=2;
    _asm
    {
        mov eax,100
        mov ebx,dword ptr[b]
        push eax
        push ebx
        mov ecx,esp
        sub ebx,ecx
        pop ebx
        pop eax
        mov a,eax
        mov b,ebx
    }
    printf("%d %d",a,b);
}

Question Number 90

Files Test1.c, Test1.h, Test2.c and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
extern int value;
void func();
void func1();
/* Test1.c */
#include "Test1.h"
int value = 300;
void func()
{
    value=200;
    printf ( "Output = %d\n", ++value );
    func1();

}

/* Test2.c */
#include "Test1.h"

void func1()
{
    printf ( "Output = %d\n", ++value );

}


/* Test3.c */

#include "Test1.h"

void main ()
{
    func1();
    func();
}

Question Number 91

Give the output of the following code snippet :
void main()
{
    int a[2][5] = {1, 2, 3, 0};
    for (int i = 0; i <  1; i++)
        for (int j = 0; j <  1; j++)
            printf("%d ", *a[0]);
}

Question Number 92

Give the output of the following code snippet :
void main()
{
    int a=20,c=10,b=30;
    _asm
    {
        mov eax,30
        mov ebx,a
        sub eax,dword ptr[c]
        jb Label2
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        cmp eax,ecx
        je Label1
        and eax,dword ptr[b]
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 93

Give the output of the following code snippet :
int mul(int a, int b)
{
    return a*b;
}
void main()
{
    int (*fptr)(int, int);
    fptr = &mul;
    printf("%d",(*fptr)(5,5));
}

Question Number 94

Give the output of the following code snippet :
struct temp
{
    int a;
} s;
void func(struct temp)
{
    s.a = 5;
    printf("%d ", s.a);
}
void main()
{
    func(s);
    printf("%d\t", s.a);
}

Question Number 95

Give the output of the following code snippet :
void BinaryToDecimal(int num)
{
    int binary_val, decimal_val = 0, base = 1, rem;
    while (num > 0)
    {
        rem = num % 10;
        decimal_val = decimal_val + rem * base;
        num = num / 10 ;
        base = base * 2;
    }
    printf("%d ", decimal_val);
}
void main()
{
    BinaryToDecimal(11001);
}

Question Number 96

Give the output of the following code snippet :
struct temp
{
    int a;
    int b;
    int c;
} p[] = {10,20,30,10};
void main()
{
    printf("%d", sizeof(p));
}

Question Number 97

Give the output of the following code snippet :
union p
{
    int x;
    char y;
};
int main()
{
    union p p1;
    union p *ptr1 = &p1;
    ptr1->x=100;
    ptr1->y='C';
    printf("%d\n",ptr1->x);
}

Question Number 98

Give the output of the following code snippet :
void print(char *str,...)
{
    int i;
    va_list marker;
    va_start(marker,str);
    i=va_arg(marker,int);
    i=va_arg(marker,int);
    i=va_arg(marker,int);
    printf("%d",i);
    va_end(marker);
}
int main()
{
    print("Start ",2,-1);
}

Question Number 99

Give the output of the following code snippet :
void main()
{
    int x=10,y=20;
    int z=x+y;
    int* const ptr=&x;
    ptr=&y;
    printf("%d",*ptr);
}

Question Number 100

Give the output of the following code snippet :
int main()
{
    char str1[20]="Hello";
    char str[10] = "World";
    int i=strlen(str1)-1;
    while(i!=0)
    {
        putchar(str1[i]);
        i--;
    }
}

Question Number 101

Give the output of the following code snippet with the following command line arguments : >Test.c 100 200 300
int main(int argc, char *argv[])
{
    int i=strlen(argv[3]);
    int sum=0;
    do
        printf("%d ",atoi(argv[--argc])+atoi(argv[--argc])+atoi(argv[argc]));
    while(argc);
}

Question Number 102

Give the output of the following code snippet run with the following commandline arguments: >Testfile.c Yellow Jello
/* Testfile.c */

int main(int argc, char *argv[])
{
    printf("%s", *++argv+2 );
    return 0;
}

Question Number 103

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
void func();

/* Test1.c */
#include "Test1.h"

static int value=200;
void func()
{
    printf ( "Output = %d\n", value );

}


/* Test2.c */
#include "Test1.h"

void main ()
{
    func();
    printf ( "Output = %d\n", value );
}

Question Number 104

Give the output of the following code snippet :
void main()
{
    int x=10,y=20,arr[3],i;
    for(i=0; i< 3; i++)
    {
        arr[i]=(++x);
        printf("%d  ",arr[i]++);
    }
}

Question Number 105

Give the output of the following code snippet :
struct p
{
    int x;
    char y;
    struct p *ptr;
};
int main()
{
    struct p t = {1, 2, 3, 4};
    printf("%d\n", t.ptr->x);
    return 0;
}

Question Number 106

Give the output of the following code snippet :
int DecToBin(int num)
{
    if (num == 0)
    {
        return 0;
    }
    else
    {
        return (num % 2) + 10 * DecToBin(num / 2);
    }
}

int main()
{
    printf("%d",DecToBin(2));
}

Question Number 107

Give the output of the following code snippet :
struct stud
{
    int no;
    int no2;
};
void func(struct stud stuobj)
{
    struct stud s;
    s=stuobj;
    printf("%d",s.no);
}
void main()
{
    struct stud s;
    s.no=1001;
    func(s);
}

Question Number 108

Files Test1.c, Test1.h, Test2.c and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
extern int value;
void func();
void func1();
/* Test1.c */
#include "Test1.h"
int value = 300;
void func()
{
    value=200;
    printf ( "Output = %d\n", ++value );
    func1();

}

/* Test2.c */
#include "Test1.h"

void func1()
{
    value=200;
    printf ( "Output = %d\n", ++value );

}


/* Test3.c */

#include "Test1.h"

void main ()
{
    func1();
    func();
}

Question Number 109

Give the output of the following code snippet :
int main()
{
    char str1[15] = "Hello World";
    char ch = 'W';
    char *str;
    str=strchr(str1,ch);
    printf(6+"Hello World");
    return 0;
}

Question Number 110

Give the output of the following code snippet :
void main()
{
    int row=2,col=2;
    int **arr;
    int i,j;
    arr=(int*)malloc(2*2*sizeof(int));
    for(i=0; i< row; i++)
    {
        for(j=0; j< col; j++)
        {
            arr[i*col+j]=i*i;
            printf("%d ",arr[i*col+j]);
        }
    }
}

Question Number 111

Give the output of the following code snippet :
void main()
{
    int a=10,c=20,b=10;
    _asm
    {
        mov eax,20
        mov ebx,a
        sub eax,dword ptr[b]
        jbe Label2
        and eax,c
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        sub ecx,eax
        je Label1
        or eax,50
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 112

Give the output of the following code snippet :
int main()
{
    int i, *j, k;
    _asm
    {
        mov         dword ptr[i], 0Ah
        lea         eax, [i]
        mov         dword ptr[j], eax
        mov         ecx, dword ptr[j]
        mov         edx, dword ptr[i]
        imul        edx, dword ptr[ecx]
        mov         eax, dword ptr[j]
        imul        edx, dword ptr[eax]
        mov         dword ptr[k], edx
    }
    printf("%d\n", k);
    return 0;
}

Question Number 113

Give the output of the following code snippet :
#define valx 2
#define valy 2
#define valz 2
void main()
{
    int ***arr;
    int i,j,k;
    arr=(int***)malloc(valx*sizeof(int**));
    for(i=0; i< valx; i++)
    {
        arr[i]=(int**)malloc(valy*sizeof(int*));
        for(j=0; j< valy; j++)
            arr[i][j]=(int*)malloc(valz*sizeof(int));
    }
    for(k=0; k< valz; k++)
    {
        for(i=0; i< valx; i++)
        {
            for(j=0; j< valy; j++)
            {
                arr[i][j][k]=i*j*k;
                printf("%d ",arr[i][j][k]);
                break;
            }
        }
    }
}

Question Number 114

Give the output of the following code snippet :
void m(int p, int q)
{
    printf("%d %d\n", p, q);
}
void main()
{
    int a = 6, b = 5;
    m(&a);
}

Question Number 115

Give the output of the following code snippet :
int main()
{

    int (*p)[5];
    int a[][5]= {1,2,3,4,5,6};
    p=a;
    int *q[]= {*a,*a+1,*a+2};
    printf("%d %d %d",**p+3,**q+2,**a);

}

Question Number 116

Give the output of the following code snippet :
void func(int *val)
{
    *val+=10;
}

void main()
{
    const int arry[10]= {1,2,3,4,5};
    func(&arry[0]);
    char str[15]="Hello World";
    arry[2]=10;
    str[0]='Y';
    printf("%d %s",arry[2]+arry[0],str);
}

Question Number 117

Give the output of the following code snippet :
int mult(int x, int y, int z)
{
    _asm
    {
        mov         eax,dword ptr [x]
        mul         dword ptr [y]
        add			eax,dword ptr[z]
    }
}
void main()
{
    int(*fptr)(int a, int b, int c);
    int a = 0;
    fptr=mult;
    _asm
    {
        push        64h
        push        4h
        push        10h
        call        dword ptr [fptr]
        add         esp,12
        mov         dword ptr [a],eax
    }
    printf("%d", a);
}

Question Number 118

Give the output of the following code snippet :
int Mult(int first,...)
{
    int prod=1, count=0,i=first;
    va_list marker;

    while(i!=0)
    {
        prod*=i;
        count++;
        i=va_arg(marker,int);
    }
    va_end(marker);
    return prod;
}

int main(int argc, char *argv[])
{
    printf("%d",Mult(2,3,0));
}

Question Number 119

Give the output of the following code snippet :
int main()
{
    int a,b=2,c=10;
    _asm
    {
        mov dword ptr[a],0
        mov ecx,dword ptr[b]
        mov dword ptr[b],20
        add ecx,dword ptr[c]
        shl ecx,2
        dec ecx
        mov a,ecx
    }
    printf("%d",a);
}

Question Number 120

Give the output of the following code snippet :
void fun(int*);
int main()
{
    int i = 10;
    fun((&i)++);
}
void fun(int *p)
{
    printf("%d\n", *p);
}

Question Number 121

Give the output of the following code snippet :
int print(int num,...)
{
    int sum=0, count=0,i,j;
    va_list marker;
    va_start(marker,num);
    for(i=0; i< num; i++)
    {
        j=va_arg(marker,int);
        printf("%d ",j);
    }
    va_end(marker);
    return sum;
}
int main(int argc, char *argv[])
{
    print(2,4,6,-1);
}

Question Number 122

Give the output of the following code snippet :
void convertToBinary(int val)
{
    for (int c = 3; c >= 0; c--)
    {
        int k = val >> c;
        if (k & 1)
            printf("1");
        else
            printf("0");
    }
}
int main()
{
    convertToBinary(0);

}

Question Number 123

Give the output of the following code snippet :
int main()
{
    int a = 1;
    _asm
    {
        mov         eax, dword ptr[a]
        mov         dword ptr[ebp - 0D0h], eax
        cmp         dword ptr[ebp - 0D0h], 1
        je          Label1
        cmp         dword ptr[ebp - 0D0h], 2
        je          Label2
        cmp         dword ptr[ebp - 0D0h], 3
        je          Label3
        jmp         Label4

        Label1 : mov         dword ptr[a], 2

        Label2 : mov         dword ptr[a], 3

        jmp         Label4
        Label3 : mov         eax, dword ptr[a]
        add         eax, 4
        mov         dword ptr[a], eax

    }

Label4 :	printf("%d", a);
}

Question Number 124

Give the output of the following code snippet :

void func(struct emp*);
struct emp
{
    char name[20];
    int age;
};
int main()
{
    struct emp e = {"Jenn", 20};
    func(&e);
    printf("%s %d", e.name, e.age);
}
void func(struct emp *p)
{
    p ->age=p->age+2;
}

Question Number 125

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
extern int value;
void func(int);
/* Test1.c */
#include "Test1.h"

void func(int arg)
{
    value=200;
    printf ( "Output = %d\n", arg+value );

}


/* Test2.c */
#include "Test1.h"

static int arg=10;
void main ()
{
    value = 300;
    func(arg+value);
}

Question Number 126

Give the output of the following code snippet :
void main()
{
    int a = 5;
    _asm
    {
        mov         dword ptr[ebp - 0D0h], 5
        cmp         dword ptr[ebp - 0D0h], 1
        je          Label1
        cmp         dword ptr[ebp - 0D0h], 5
        je          Label2
        jmp         Label3
        Label1 : mov         dword ptr[a], 0Ah
        jmp         Label3
        Label2 : mov         dword ptr[a], 14h

    }
Label3:
    printf("%d", a);
}

Question Number 127

Give the output of the following code snippet with the following command line arguments : >Test.c Hello World
int main(int argc, char *argv[])
{
    int i=0;
    while(i!=argc)
    {
        printf("%s ", (argv[i]+1));
        i++;
    }
    return 0;
}

Question Number 128

Give the output of the following code snippet :
void main()
{
    int a=30,c=-10,b=30;
    _asm
    {
        mov eax,10
        mov ebx,b
        sub eax,dword ptr[a]
        jo Label2
        mov edx,dword ptr[c]
        xor edx,eax
        mov b,edx
        Label2:
        mov ecx,dword ptr[a]
        mov ebx,10
        cmp ecx,ebx
        je Label1
        add eax,ecx
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 129

Give the output of the following code snippet :
struct student
{
    char *name;
    int age;
};
struct student s[2];
void main()
{
    s[0].name = "Jenn ";
    s[1] = s[0];
    printf("%s %s", s[0].name, s[1].name);
}

Question Number 130

Give the output of the following code snippet :
void main()
{
    int row=2,col=2;
    int *arr;
    int i,j;
    arr=(int*)malloc(row*col*sizeof(int));
    for(i=0; i< row; i++)
    {
        for(j=0; j< col; j++)
        {
            arr[i*col+j]=i*i;
            printf("%d ",arr[i*col+j]);
        }
    }

}

Question Number 131

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void SortList()
{
    node *temp1,*temp2,*temp3,*temp4,*temp5;
    temp4=NULL;
    while(temp4!=Head->next)
    {
        temp3=temp1=Head;
        temp2=temp1->next;
        while(temp1!=temp4)
        {
            if(temp1->x <  temp2->x)
            {
                if(temp1==Head)
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    Head = temp2;
                    temp3=temp2;
                }
                else
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    temp3->next = temp2;
                    temp3=temp2;
                }
            }
            else
            {
                temp3=temp1;
                temp1=temp1->next;
            }
            temp2=temp1->next;
            if(temp2 == temp4)
                temp4=temp1;
        }
    }
}
void AddNode( int num )
{
    struct node *temp,*temp2;
    if(Head==NULL)
    {
        temp2=(struct node *)malloc(sizeof(struct node));
        temp2->x=num;
        temp2->next=NULL;
        Head=temp2;
    }
    else
        temp=Head;
    while(temp->next!=NULL)
        temp=temp->next;
    temp2=(struct node *)malloc(sizeof(struct node));
    temp2->x=num;
    temp2->next=NULL;
    temp->next=temp2;
}

void  Display()
{
    struct node *r;
    r=Head->next;
    while(r->next!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
    printf("\n");
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    AddNode(20);
    AddNode(3);
    AddNode(100);
    AddNode(50);
    SortList();
    Display();
}

Question Number 132

Give the output of the following code snippet :
struct student
{
    char *name;
};
struct student s[2], *r[2];
void main()
{
    s[0].name = "Jenn";
    r[1] = &s[0];
    printf("%s", r->name);
}

Question Number 133

Give the output of the following code snippet :
int main()
{
    int *Pa1 = 0;
    int *Pa2 = 0;
    int *Pa3 = 0;
    int a, b, c;

    _asm
    {
        mov         dword ptr[a], 0Ah
        mov         dword ptr[b], 14h
        lea         eax, [a]
        mov         dword ptr[Pa1], eax
        lea         ecx, [b]
        mov         dword ptr[Pa2], ecx
        mov         edx, dword ptr[Pa1]
        mov         ecx, dword ptr[Pa2]
        mov         eax, dword ptr[edx]
        cdq
        idiv        dword ptr[ecx]
        mov         dword ptr[c], eax
        lea         edx, [c]
        mov         dword ptr[Pa3], edx
    }

    printf("%d", *Pa3);
}

Question Number 134

Give the output of the following code snippet whose solution configuration has been set to the DEBUG mode :
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    _asm
    {
        mov eax, 10
        push eax
        push 200
        mov ebx, dword ptr[esp]
        mov a, ebx
        mov ebx, dword ptr[esp + 4]
        mov b, ebx
        push 300
        mov ebx, dword ptr[esp + 8]
        mov c, ebx

    }
    printf("%d %d %d", a, b, c);
}

Question Number 135

Give the output of the following code snippet :
void main()
{
    char *str;
    char *str2;
    str="Hello";
    str2="World";
    strcpy(str,str2);
    printf("%s",str);

}

Question Number 136

Which of the following is an example of a null pointer in C?
< NIL>

Question Number 137

Predict the output of the following code snippet :
struct node
{
    int data;
    struct node *next;
}*head;

void add( int num )
{
    struct node *temp;
    temp=(struct node *)malloc(sizeof(struct node));
    temp->data=num;
    if (head== NULL)
    {
        head=temp;
        head->next=NULL;
    }
    else
    {
        temp->next=head;
        head=temp->next;
    }
}

void  display()
{
    struct node *r;
    r=head;
    while(r!=NULL)
    {
        printf("%d ",r->data);
        r=r->next;
    }
}

void main()
{
    add(100);
    add(200);
    add(300);
    add(400);
    display();
}

Question Number 138

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b =0, c=0,d=0;
    __asm
    {
        push 100
        push 200
        push 500
        mov ebx,300
        mov eax, 400
        call label1
        add esp, 12
        jmp Label2
        label1:
        mov d,eax
        mov eax, dword ptr[esp + 4]
        mov a, eax
        mov eax, dword ptr[esp + 8]
        mov b, eax
        mov eax, dword ptr[esp + 12]
        sub eax,ebx
        mov c,eax
        ret
    }
Label2:
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 139

Give the output of the following code snippet :
typedef struct stud s;
void func(struct stud *stuobj);
struct stud
{
    int no;
    int no2;
    s link;
};

void main()
{
    struct stud s= {10,20};
    func(&s);
}
void func(struct stud *stuobj)
{
    struct stud *s;
    s=stuobj;
    printf("%d",s->no);
}

Question Number 140

Give the output of the following code snippet :
void main()
{
    int a=20,b=30,c=40;
    unsigned int d=2;
    int x=1,y=2,z=30;
    x= c || b  & a ;
    y = x || 2 || b;
    printf("%d %d  %d",x,y,-2 < <  2);
}

Question Number 141

Consider the given lines of code : What does the line below signify? if(head == NULL)
void add( int num )
{
    struct node *temp;
    if (head== NULL)
    {
        head=temp;
        head->next=NULL;
    }
    temp=(struct node *)malloc(sizeof(struct node));
    temp->data=num;
    temp->next=head;
    head=temp;

}

Question Number 142

Give the output of the following code snippet :
void main()
{
    int a=10,b=20,c=30;
    unsigned int d=12;
    int x,y,z=40;
    x=a && b || c;
    y=x< < 2;
    z>>=2;
    printf("%d %d %d",x,y,~z);
}

Question Number 143

Give the output of the following code snippet :
void print(char* first,...)
{
    int sum=0, count=0,i;
    int marker;
    va_start(marker,first);
    do
    {
        i=va_arg(marker,int);
        printf("%d ",i);
    }
    while(i!=6);
    va_end(marker);
}
int main(int argc, char *argv[])
{
    print("Test",2,4.3,6.5,-1);
}

Question Number 144

Files Test1.c, Test1.h, Test2.c, Test2.h and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
void func1();


/* Test2.h */
extern int value;
void func();

/* Test1.c */

#include"Test2.h"

void func()
{
    printf("Output = %d\n",value);
}

/* Test2.c */
#include"Test2.h"
int value = 200;

void func1()
{
    printf ( "Output = %d\n", ++value );

}



/* Test3.c */

#include "Test1.h"

void main ()
{
    func1();
    func();
}

Question Number 145

Give the output of the following code snippet :
void m(int *p)
{
    printf("%d\n", *p);
}
void main()
{
    int a = 6, b = 5;
    m(&a, &b);
    printf("%d %d\n", a, b);
}

Question Number 146

Give the output of the following code snippet :
typedef int(*fptr)(int a);
typedef struct
{
    int a;
    fptr fpt[100];
} fp;

int fun(int a)
{
    _asm
    {
        mov         dword ptr[a], 0C8h
    }
    printf("%d", a);
    return 0;
}

int _tmain()
{
    fp myS;
    myS.fpt[0] = fun;
    _asm
    {
        push        64h
        mov         edx, 4
        imul        eax, edx, 0
        mov         ecx, dword ptr[ebp + eax - 190h]
        call        ecx
        add         esp, 4
    }

}

Question Number 147

A pointer may be of the types :
< NIL>

Question Number 148

Give the output of the following code snippet :
int main()
{
    const int y=100;
    const int* z=&y;

    *z=200;
    printf("%d",*z);

}

Question Number 149

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */

int value = 400;
void func();
/* Test1.c */

#include "Test1.h"

static int value = 100;
void func()
{
    static int value = 200;
    printf ( "Output = %d\n", value );
    value = 300;

}

/* Test2.c */
static int value = 100;
void main ()
{
    func();
    printf ( "Output = %d\n", value );
}

Question Number 150

Give the output of the following code snippet who's solution configuration has been set to the DEBUG mode :
int main()
{
    int a = 0;
    int b = 0;
    _asm
    {
        mov eax, 10
        push eax
        mov ebx, 20
        push ebx
        mov ecx, 30
        push ecx
        mov edx, 40
        push edx
        mov ebx, dword ptr[esp]
        mov a, ebx
        mov ebx, dword ptr[esp + 4]
        mov b, ebx
        add esp,0x10

    }
    printf("%d %d",a,b);
}

Question Number 151

Give the output of the following code snippet :
struct student
{
    char *name;
};
struct student fun()
{
    struct student s;
    s.name = "Anne";
    return s;
}
void main()
{
    struct student m = fun();
    printf("%s", m.name);
}

Question Number 152

Give the output of the following code snippet :

void main()
{
    int i, prod = 1, j = 3;
    _asm
    {
        mov         dword ptr[i], 0
        jmp         Label1
        Label3 : mov         eax, dword ptr[i]
        add         eax, 1
        mov         dword ptr[i], eax
        Label1 : cmp         dword ptr[i], 3
        jge         Label2

        mov         ecx, dword ptr[i]
        add         ecx, dword ptr[j]
        imul        ecx, dword ptr[prod]
        mov         dword ptr[prod], ecx

        jmp         Label3

    }
Label2:	printf("%d", prod);
}

Question Number 153

Give the output of the following code snippet :
int sum(int first,....)
{
    int sum=0, count=0,i=first;
    va_list marker;
    va_start(marker,first);
    while(i!=-1)
    {
        sum+=i;
        count++;
        i=va_arg(marker,int);
    }
    va_end(marker);
    return sum;
}


int main(int argc, char *argv[])
{
    printf("%d",sum(2,3,4,-1));
}

Question Number 154

Give the output of the following code snippet :
void func(char *s)
{
    printf("%s",s);;
}
void main()
{
    char str[]="Hello World";
    char *str1="Hello world";
    str="New Program";
    func(str);
}

Question Number 155

Give the output of the following code snippet :
void main()
{
    int a[10] = {1};
    printf("%d %d", sizeof(a),*a);
};

Question Number 156

Give the output of the following code snippet :
struct point
{
    int x;
    int y;
};
struct point func(struct point);
int main()
{
    struct point p1 = {1, 2};
    p1.y=func(p1);
    printf("%d\n", p1.y);
}
struct point func(struct point p)
{
    p.y=20;
    return p;
}

Question Number 157

Give the output of the following code snippet :
int func(int a,int b)
{
    int x=a++;
    int y=a--%b++;
    return x< y;
}

int main()
{
    int x=100,y=200;
    int z = func(100,200);
    printf("%d",z);
}

Question Number 158

Give the output of the following code snippet :
void main()
{
    int a[2][2] = {1, 2, 3, };
    for (int i = 0; i <  2; i++)
        for (int j = 0; j <  2; j++)
            printf("%d ", a[i][j]);
}

Question Number 159

Give the output of the following code snippet :
int func(int *x)
{
    int *ptr;
    int y=100;
    ptr=x;
    ptr=&y;
    return *ptr;
}
void main()
{
    int (*f[5])(int*);
    int *a;
    int b=200;
    a=&b;
    f[0]=func;
    printf("%d",(*f)(*a));
}

Question Number 160

Give the output of the following code snippet :
#define offset(type,mem)(int)&(((type*)1)->mem)
int main()
{
    struct u
    {
        char x[10];
        int y;
        float z;
    } p;
    int offx,offy,offz;
    offx=offset(struct u,x);
    printf("%d ", offx);
    offy=offset(struct u,y);
    printf("%d ", offy);
    offz=offset(struct u,z);
    printf("%d ", offz);

}

Question Number 161

Give the output of the following code snippet with the following command line arguments : >Test.c 100 200 300
int main(int argc, char *argv[])
{
    int i=strlen(argv[3]);
    int sum=0;
    do
        printf("%d ",atoi(argv[argc])+atoi(argv[--argc]));
    while(argc);
}

Question Number 162

Give the output of the following code snippet :
int main()
{
    int a = 15, b = 10, c;
    _asm
    {
        mov eax,a
        mov ebx,b
        mov edx,dword ptr[c]
        xor eax,ebx
        or  eax,edx
        dec edx
        mov dword ptr[a],eax
        mov dword ptr[b],edx
    }
    printf("%d %d",a,b);
}

Question Number 163

Give the output of the following code snippet with the following command line arguments : >Test.c 100 200 300
int main(int argc, char *argv[])
{
    for(int i=0; i< argc; i++)
        printf("%d ", atoi(argv[i]));
    return 0;
}

Question Number 164

Give the output of the following code snippet :
void main()
{
    int a=20,c=10,b=0;
    _asm
    {
        mov eax,20
        mov ebx,a
        cmp eax,ebx
        je Label2
        mov b,eax
        Label2:
        mov ecx,c
        and eax,ecx
        mov c,eax

    }
    printf("%d %d",b,c);
}

Question Number 165

Give the output of the following code snippet :
struct stud
{
    int age;
    char *name;
};
const struct stud s;
void main()
{
    struct stud s2= {20,"Jenn"};
    s=s2;
    s.age=22;
    printf("%d",s.age);
}

Question Number 166

Give the output of the following code snippet :
void func(char **a)
{
    printf("%d %s",strlen(*(a+3)),*(a+3));
}
void main()
{
    char *str1[15]= {"This","is","a","Hello","World","Program"};
    char **x;
    x=str1;
    func(x);
}

Question Number 167

Consider the given code : Which of the following statements in the code is used to indicate that it is a self referencing structure?
struct node
{
    int x;
    struct node *next;
}
node *Head;

Question Number 168

Give the output of the following code snippet :
int func()
{
    int *ptr;
    int x=100;
    ptr=&x;
    return *ptr;
}
void main()
{
    int (*f[5])();
    *f=func;
    printf("%d",(*f)());
}

Question Number 169

Give the output of the following code snippet :
struct temp
{
    int a;
} s;
void change(struct temp s)
{
    s.a = 1;
}
void main()
{
    s.a = 10;
    change(s);
    printf("%d\n", s.a);
}

Question Number 170

Give the output of the following code snippet :
void main()
{
    int a=10,c=20,b=-30;
    _asm
    {
        mov eax,40
        mov ebx,dword ptr[b]
        cmp eax,ebx
        jle Label2
        or eax,ebx
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        sub ecx,ebx
        jz Label1
        or eax,ecx
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 171

Give the output of the following code snippet :
struct temp
{
    int a;
} s[5];
void func(struct temp*)
{
    s[0].a = 5;
    printf("%d ", s[0].a);
}
void main()
{
    func(s);
    printf("%d\t", s.a);
}

Question Number 172

Give the output of the following code snippet who's solution configuration has been set to the DEBUG mode :
int main()
{
    int a = 200, b = 100, c = 2;
    _asm
    {
        mov eax, esp
        mov ebx, 10
        push eax
        push ebx
        mov ecx, esp
        mov ebx, dword ptr[b]
        sub ecx, eax
        mov a, ecx
        mov b, ebx
        add esp,8

    }
    printf("%d %d", a, b);
}

Question Number 173

Give the output of the following code snippet :
void print(int num,va_list marker);
void disp(int num,...)
{
    va_list val;
    va_start(val,num);
    print(num,val);
}
void print(int num,va_list marker)
{
    int i,k,j;
    for(i=0; i< num; i++)
    {
        j=va_arg(marker,int);
        printf("%d ",j);
    }
    va_end(marker);
}
int main(int argc, char *argv[])
{
    disp(3,10,20,30);
}

Question Number 174

Give the output of the following code snippet :
#define SIZE 8
#define MASK(x) (1< <  x % SIZE)
#define BSLOT(y)(y/SIZE)
#define SET(x,y)(x[BSLOT(y)] |=MASK(y))
#define TEST(x,y)(x[BSLOT(y)] & MASK(y))
#define NUMSLOT(n)((n+SIZE-1)/SIZE)

void main()
{
    char arr[NUMSLOT(20)]= {10};
    SET(arr,30);
    if(TEST(arr,10))
        printf("Hello");
    else
        printf("World");
}

Question Number 175

Give the output of the following code snippet :
int Mult(int first,...)
{
    int prod=0, count=0,i=first;
    va_list marker;
    va_start(marker,first);
    while(i!=0)
    {
        prod*=i;
        count++;
        i=va_arg(marker,int);
    }
    va_end(marker);
    return prod;
}

int main(int argc, char *argv[])
{
    printf("%d",Mult(2,3,0));
}

Question Number 176

Give the output of the following code snippet :
struct point
{
    int x;
    int y;
};
void fun(struct point p[])
{
    printf("%d %d\n",p->y,++p[1].y);
}
int main()
{
    struct point p1[] = {1, 2, 3};
    fun(p1);
}

Question Number 177

Give the output of the following code snippet :
int main()
{
    int a = 10, b = 20,c=5;
    _asm
    {
        mov eax,dword ptr[a]
        mov ebx,dword ptr[b]
        mov ecx,c
        and ecx,ebx
        inc ecx
        mov dword ptr[c],ecx

    }
    printf("%d",c);
}

Question Number 178

Give the output of the following code snippet :
int main()
{
    int a = 10, b = 20,c=5;
    _asm
    {
        inc dword ptr[a]
        mov eax,dword ptr[a]
        mov ebx,dword ptr[b]
        mov ecx,10
        and ecx,ebx
        or  ecx,eax
        mov dword ptr[c],ecx

    }
    printf("%d",c);
}

Question Number 179

Give the output of the following code snippet :
void main()
{
    char *str1="%s";
    char str[]="Hello World";
    printf(str1,str);
}

Question Number 180

Give the output of the following code snippet :
int print(int num,...)
{
    int sum=0, count=0,i,j;
    va_list marker;
    va_start(marker,num);
    for(i=0; i< num; i++)
    {
        i=va_arg(marker,int);
        printf("%d ",i);
    }
    va_end(marker);
    return sum;
}
int main(int argc, char *argv[])
{
    print(3,4,6,-1);
}

Question Number 181

Files Test1.c, Test1.h, Test2.c, Test2.h and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
void func1(int);
extern int arg = 10;


/* Test2.h */
extern int value;
void func(int);

/* Test1.c */

#include"Test2.h"
void func1(int);
void func(int arg)
{
    value = 200;
    func1(arg);
    printf("Output = %d\n",arg+value);
}

/* Test2.c */
#include"Test2.h"

int value = 200;
void func1(int arg)
{
    value = 100;
    printf ( "Output = %d\n", arg+value );

}



/* Test3.c */

#include "Test1.h"
#include "Test2.h"

void main ()
{
    func(arg);
}

Question Number 182

Give the output of the following code snippet : Assume the input given is "Hello".
void main()
{
    int i=3;
    int x;
    while(i!=0)
    {
        scanf("%d",&x);
        printf("%d ",x);
        break;
        ungetc(x,stdin);
        i--;
    }
}

Question Number 183

Give the purpose of the following lines of code :
struct node *root;
root = (struct node *) malloc( sizeof(struct node) );
root->next = NULL;
root->prev = NULL;
root->x = 5;

Question Number 184

Give the output of the following code snippet :
void main()
{
    int i, sum = 0, j = 5;
    _asm
    {
        mov         dword ptr[i], 0
        jmp         Label1
        Label4 : mov         eax, dword ptr[i]
        add         eax, 1
        mov         dword ptr[i], eax
        Label1 : cmp         dword ptr[i], 5
        jge         Label2

        mov         ecx, dword ptr[i]
        imul        ecx, dword ptr[j]
        add         ecx, dword ptr[sum]
        mov         dword ptr[sum], ecx

        cmp         dword ptr[i], 3
        jne         Label3

        jmp         Label2

        Label3 : jmp         Label4

    }
Label2: 	printf("%d", sum);
}

Question Number 185

While passing a two dimensional array as argument to a function, which of the following parameters is optional?
< NIL>

Question Number 186

Give the output of the following code snippet :
void main()
{
    int x=10,y=20,z=0;
    if(x+y>y-x && x-y< y+x)
    {
        x=100;
        y=200;
        z=x*y/x;
    }
    else
        z=300;
    printf("%d %d %d",x,y,z);
}

Question Number 187

Give the output of the following code snippet with the following command line arguments : >Test.c 100 200 300
int main(int argc, char *argv[])
{
    int i=0;
    int sum=0;
    while(i!=argc)
    {
        sum=sum+(argv[i]);
        i++;
    }
    printf("%d %d",argc,sum);
    return 0;
}

Question Number 188

Give the output of the following code snippet :
void main()
{
    int a=10,c=10,b=40;
    _asm
    {
        mov eax,30
        mov ebx,a
        sub eax,dword ptr[b]
        jnc Label2
        and eax,c
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        cmp eax,ecx
        jne Label1
        and eax,50
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 189

Give the output of the following code snippet :
void main()
{
    int a=30,c=50,b=40;
    _asm
    {
        mov eax,30
        mov ebx,dword ptr[c]
        cmp eax,ebx
        jnge Label2
        shl eax,1
        xor eax,dword ptr[a]
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        sub ecx,ebx
        jz Label1
        and eax,ecx
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 190

Give the output of the following code snippet :
void main()
{
    int x=10,y=20,arr[3],i;
    for(i=0; i< 3; i++)
    {
        arr[i]=y++;
        printf("%d  ",arr[i]+x++);
    }
}

Question Number 191

Give the output of the following code snippet :
void func(int (*p)[2],int row,int col)
{
    for(int i=0; i< row; i++)
    {
        for(int j=0; j< col; j++)
        {
            printf("%d ", p[i][j]);
        }
    }
}
int main()
{
    int arry[2][2]= {1,2,3,4};
    func(arry,2,2);
}

Question Number 192

Give the output of the following code snippet :
int main()
{
    int a = 10, b = 20, c;
    _asm
    {
        mov eax,a
        mov ebx,b
        and eax,ebx
        xor eax,b
        mov dword ptr[a],eax
    }
    printf("%d",a);
}

Question Number 193

Give the output of the following code snippet :
struct q
{
    char *name;
};
struct q *ptrary[3];
int main()
{
    struct q *p;
    p->name = "Hello";
    ptrary[0] = p;
    p->name= "World";
    ptrary[1] = p;
    printf("%s\n", ptrary[]->name);
    return 0;
}

Question Number 194

Give the output of the following code snippet :
void main()
{
    int x, *ptr1, y;
    _asm
    {
        mov         dword ptr[x], 14h
        lea         eax, [x]
        mov         dword ptr[ptr1], eax
        mov         ecx, dword ptr[x]
        add         ecx, 1
        mov         dword ptr[x], ecx
        mov         edx, dword ptr[ptr1]
        mov         eax, dword ptr[edx]
        add         eax, dword ptr[x]
        mov         dword ptr[y], eax
        mov         ecx, dword ptr[ptr1]
        add         ecx, 4
        mov         dword ptr[ptr1], ecx
    }
    printf("%d ", y);
}

Question Number 195

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */

extern int value;
void func();

/* Test1.c */

int value;
void func()
{
    printf ( "Output = %d", value );

}

/* Test2.c */

#include "Test1.h"
void main ()
{
    extern int value;
    printf ( "Output = %d\n", value );
}

Question Number 196

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b =0, c=0;
    __asm
    {
        push 100
        push 200
        push 500
        mov ebx,300
        mov eax, 400
        call label1
        add esp, 12
        jmp Label2
        label1:
        mov eax, dword ptr[esp + 4]
        mov a, eax
        mov eax, dword ptr[esp + 8]
        mov b, eax
        mov eax, dword ptr[esp + 12]
        add eax,ebx
        mov c,eax
        ret
    }
Label2:
    printf("%d %d %d", a, b, c);

}

Question Number 197

Give the output of the following code snippet : What are the contents of the file 'Test.txt' after the code is executed?
void main()
{
    char x;
    FILE *fp;
    fp=fopen("Test.txt","w+");
    fprintf(fp,"%s","Hello","World");
    fclose(fp);
}

Question Number 198

Give the output of the following code snippet :
void main()
{
    char str1[15]="Hello World";
    char str[10]="Yellow";
    char str2[10]="World";
    char *str3;
    str3=strcat(str,str2);
    printf("%s",str3);
}

Question Number 199

Give the output of the following code snippet :
typedef struct
{
    int a;
} Temp;

void main()
{
    Temp t1;
    t1.a=100;
    printf("%d",t1.a);
}

Question Number 200

Give the output of the following code snippet :
int main()
{
    int a = 10, b = 20,c=5;
    _asm
    {
        mov eax,dword ptr[a]
        mov ebx,dword ptr[b]
        mov ecx,c
        or ebx,c
        and ecx,ebx
        mov dword ptr[c],ecx

    }
    printf("%d",c);
}

Question Number 201

Give the output of the following code snippet :
void main()
{
    int a = 1;
    _asm
    {
        cmp         dword ptr[a], 0
        jne         Label1

        mov         dword ptr[a], 64h

        jmp         Label2

        Label1 : mov         dword ptr[a], 0C8h

    }
Label2:	printf("%d", a);
}

Question Number 202

Give the output of the following code snippet :
int main()
{
    float x=10.00;
    float y=10.001;
    if( x == y)
        printf("%.0f",x++ + ++y);
    else
        printf("%.0f",--y-++x);
}

Question Number 203

Give the output of the following code snippet who's solution configuration has been set to the DEBUG mode :
int main()
{
    int a = 10;
    int b = 20;
    int c = 30;
    _asm
    {
        mov eax, 10
        push eax
        push a
        push b
        push c
        mov ebx, dword ptr[esp]
        mov a, ebx
        pop a
        add esp,12


    }
    printf("%d %d %d", a, b, c);
}

Question Number 204

Give the output of the following code snippet :
void main()
{
    char a[10][6] = {"Hola","Hello","Jello"};
    printf("%s", a+1);
}

Question Number 205

Give the output of the following code snippet :
void main()
{
    char str1[15]="Hello World";
    char str[10]="Yellow";
    char *str2="World";
    char *str3;
    str3=strcat(str,str2);
    printf("%s",str3);
}

Question Number 206

Give the output of the following code snippet :
void func(char **a)
{
    char *str=*(a+4);
    printf("%d  %s",sizeof(*(a+4)),str);
}
void main()
{
    char *str[15]= {"This","is","a","Hello","World","Program"};
    char *x;
    x=str[4];
    str[4]=str[5];
    str[5]=x;
    func(str);
}

Question Number 207

Give the importance of the following line of code in the given program : temp2->next=temp3;
void ReverseList()
{
    node *temp1,*temp2,*temp3;
    temp1=Head;
    temp2=NULL;
    while(temp1!=NULL)
    {
        temp3=temp2;
        temp2=temp1;
        temp1=temp1->next;
        temp2->next=temp3;
    }
    Head=temp2;
}

Question Number 208

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b =0, c=0,d=0;
    __asm
    {
        push 10
        push 20
        push 50
        push 70
        mov ebx,30
        mov eax, 40
        mov ecx,60
        call label1
        add eax,ebx
        mov a,eax
        mov c,ebx
        add esp, 16
        jmp Label2
        label1:
        mov eax, dword ptr[esp + 4]
        mov a, eax
        add a, ebx
        mov eax, dword ptr[esp + 12]
        mov b, eax
        mov eax, dword ptr[esp + 20]
        xor edx,ecx
        mov c,eax
        sub edx,ecx
        or edx,10
        mov d,edx
        ret
    }
Label2:
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 209

Give the output of the following code snippet :
int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int *p = arr;
    ++*p;
    printf("%d", (*p)+3);
}

Question Number 210

Give the output of the following code snippet :
void func(int arr[])
{
    *arr++;
    printf("%d ",(arr[0]));
}

int main()
{

    int n=10;
    int arry[n]= {1,2,3,4,5,6};
    func(arry);
}

Question Number 211

Give the output of the following code snippet :
int func()
{
    int **p;
    int *q;
    int x=100;
    p=&q;
    q=&x;
    return **x;
}
void main()
{
    int (*f)();
    f=func;
    printf("%d",f());
}

Question Number 212

Give the output of the following code snippet :
typedef void v;
v func(int,int);
void main()
{
    func(10,10);
}
v func(int x,int y)
{
    printf("%d",x+y);
}

Question Number 213

Give the output of the following code snippet :
void main()
{
    char str1[12]="Hello world";
    char *str="Yellow World";
    char *x,*y;
    strcpy(str1,str);
    printf("%s",str1);
}

Question Number 214

Give the output of the following code snippet :
int main()
{
    int a = 20, b = 10,c=2;
    _asm
    {
        mov eax,esp
        push ebx
        mov ecx,esp
        sub eax,ecx
        mov b,eax
        pop ebx
    }
    printf("%d",b);
}

Question Number 215

Give the output of the following code snippet :
int main()
{
    int i=10,*p,*q;
    p=&i;
    *q=*p;
    printf("%d",*q);
}

Question Number 216

Give the output of the following code snippet run with the following commandline arguments: >Testfile.c one
/* Testfile.c */

int main(char *argv[])
{
    while(--argc>0)
        printf("%s ", *++argv+1);
    return 0;
}

Question Number 217

Give the output of the following code snippet :
struct Vehicle
{
    int Id;
    char *name;

    struct Car
    {
        int Id;
        char *name;
    } Cobj;
};

void main()
{
    struct Vehicle Vobj[5];
    Vobj[0].Cobj.Id=1001;
    printf("%d",Vobj[0].Cobj.Id);
}

Question Number 218

Give the output of the following code snippet :
int main()
{
    int i, *p, q;
    _asm
    {
        mov         dword ptr[i], 1Fh
        lea         eax, [i]
        mov         dword ptr[p], eax
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        sub         edx, 0Fh
        mov         eax, dword ptr[p]
        mov         dword ptr[eax], edx
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        mov         dword ptr[q], edx
        mov         eax, dword ptr[p]
        sub         eax, 6
        mov         dword ptr[p], eax
    }
    printf("%d", q);
}

Question Number 219

Give the output of the following code snippet :
int main()
{
    int a = 2000;
    int b = 1000;

    int c = a >> 3;
    int d = b >> 2;

    if(c == d)
        printf("True");
    else
        printf("False");

}

Question Number 220

Give the output of the following code snippet :
void main()
{
    char *str1="%s";
    char str[]="Hello World";
    printf(str1,str+1);
}

Question Number 221

Give the output of the following code snippet :
struct student
{
    int age;
    char name[25];
};
int main()
{
    struct student c[] = { {12, "Jenn"},
        {13, "Abby"}
    };

    printf("%s ", *(c+1).name);
    return 0;
}

Question Number 222

Give the output of the following code snippet :
void func(int p[],int count)
{
    for(int i=0; i< count; i++)
        printf("%d ", p[i]);
}
int main()
{
    int arry[5]= {1,2,3,4,5};
    func(arry,5);
}

Question Number 223

Give the output of the following code snippet :
void main()
{
    int a=10,b=20,c=30;
    unsigned int d=2;
    int x=10,y=20,z=30;
    x=a | b >> c || d;
    y >>= 3;
    z = y>> 2;
    printf("%d %d %d",x,y,z);
}

Question Number 224

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */

int value = 300;

/* Test1.c */

extern int value;
void func()
{
    int value = 200;
    printf ( "Output = %d", value );

}

/* Test2.c */

#include"Test1.h"

void func() {};
void main ()
{
    printf ( "Output = %d\n", value );
    func();

}

Question Number 225

Give the output of the following code snippet :
void main()
{
    int i = 0, a = 10;
    _asm
    {
        Label2:  cmp         dword ptr[i], 0
        jle         Label1
        mov         eax, dword ptr[a]
        add         eax, 5
        mov         dword ptr[a], eax
        Label1 : mov         ecx, dword ptr[i]
        add         ecx, 2
        mov         dword ptr[i], ecx
        cmp         dword ptr[i], 6
        jne         Label2
    }

    printf("%d", a);
}

Question Number 226

Give the output of the following code snippet :
void main()
{
    int ch=0,sum=0,i;
    int num=3;
    for (i=0; i< 4; i++)
    {
        printf("%d",(num << i & 1 <<  3)? 0 : 1);
    }
}

Question Number 227

Give the output of the following code snippet :
int main()
{

    int (*p)[5];
    int a[][5]= {1,2,3,4,5,6};
    p=a;
    int *q;
    q=(int*)a;
    printf("%d %d",**p+3,*q+5);

}

Question Number 228

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b =0, c=0,d=0;
    __asm
    {
        push 10
        push 20
        mov ebx,30
        mov eax, 40
        mov ecx,60
        push 50
        call label1
        mov a,eax
        mov b,ebx
        add esp, 12
        jmp Label2
        label1:

        mov eax, dword ptr[esp + 4]
        mov a, eax
        add a, ebx
        mov eax, dword ptr[esp + 8]
        mov b, eax
        mov eax, dword ptr[esp + 12]
        or edx,ecx
        mov c,eax
        sub edx,10
        mov d,edx
        ret
    }
Label2:
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 229

Give the output of the following code snippet :
int main()
{
    enum Days {SUN,MON,TUES,WED,THURS,FRI,SAT};
    typedef enum Days EDays;
    EDays day=MON+TUES;
    printf("%d",day);
}

Question Number 230

Give the output of the following code snippet :
void main()
{
    typedef unsigned int uint;
    typedef float fl;
    uint x=100,y=200;
    fl p=100.25,q=200.50;
    unsigned int a=300,b=400;
    int z = x+y-a/b;
    float w= q/p;
    float v=z/w;
    printf("%.2f",v);
}

Question Number 231

Give the output of the following code snippet : Assume the contents of the file 'Test.txt' is "Hello World".
void main()
{
    char x;
    int count=0;
    FILE *fp,*fp1;
    fp=fopen("Test.txt","r");
    fseek(fp,10,SEEK_SET);
    fputc('S',fp);
    fclose(fp);
    fp1=fopen("Test.txt","r");
    while((x=getc(fp1))!=EOF)
    {
        printf("%c",x);
        count++;
    }
    printf("  %d",count);
    fclose(fp1);
}

Question Number 232

Give the output of the following code snippet : What are the contents of the file 'Test.txt' after the code is executed?
void main()
{
    char x;
    FILE *fp;
    fp=fopen("Test.txt","w+");
    fprintf(fp,"%s %s","Hello","World");
    fclose(fp);
}

Question Number 233

Give the output of the following code snippet :
void main()
{
    int a=0x10,b=20,c=30,d;
    int x,y,z;
    x=a & b && c;
    y=a | b || c;
    z=x && y | c;
    printf("%d %d %d",x,y,~z);
}

Question Number 234

Give the output of the following code snippet :
int main()
{
    int a[][] = {{1, 2, 3}, {5, 2, 3}};
    printf("%d",*a[0]+1);
}

Question Number 235

Files Test1.c, Test1.h, Test2.c, Test2.h and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
extern int value;

void func1();

/*  Test2.h */
void func()

/* Test1.c */
#include "Test1.h"
int value = 100;
void func()
{
    printf("Output = %d\n",value);
}




/* Test2.c */
#include "Test1.h"

void func1()
{
    printf ( "Output = %d\n", ++value );

}


/* Test3.c */

#include "Test2.h"

void main ()
{
    func();
    func();
}

Question Number 236

Give the output of the following code snippet :
struct node
{
    int x;
    struct node *next;
}*Head;

void SortList()
{
    node *temp1,*temp2,*temp3,*temp4,*temp5;
    temp4=NULL;
    while(temp4!=Head->next)
    {
        temp3=temp1=Head;
        temp2=temp1->next;
        while(temp1!=temp4)
        {
            if(temp1->x <  temp2->x)
            {
                if(temp1==Head)
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    Head = temp2;
                    temp3=temp2;
                }
                else
                {
                    temp5=temp2->next;
                    temp2 -> next=temp1;
                    temp1->next=temp5;

                    temp3->next = temp2;
                    temp3=temp2;
                }
            }
            else
            {
                temp3=temp1;
                temp1=temp1->next;
            }
            temp2=temp1->next;
            if(temp2 == temp4)
                temp4=temp1;
        }
    }
}
void AddNode( int num )
{
    struct node *temp,*temp2;
    if(Head==NULL)
    {
        temp2=(struct node *)malloc(sizeof(struct node));
        temp2->x=num;
        temp2->next=NULL;
        Head=temp2;
    }
    else
        temp=Head;
    while(temp->next!=NULL)
        temp=temp->next;
    temp2=(struct node *)malloc(sizeof(struct node));
    temp2->x=num;
    temp2->next=NULL;
    temp->next=temp2;
}

void  Display()
{
    struct node *r;
    r=Head;
    while(r->next!=NULL)
    {
        printf("%d ",r->x);
        r=r->next;
    }
    printf("\n");
}

int main()
{
    AddNode(10);
    AddNode(5);
    AddNode(6);
    SortList();
    AddNode(20);
    AddNode(3);
    AddNode(100);
    AddNode(50);

    Display();
}

Question Number 237

Give the output of the following code snippet :
#define row 2
#define col 2
void main()
{
    int (*arr)[col];
    arr=(int (*)[col])malloc(sizeof(row*sizeof(*arr)));
    for(int i=0; i< row; i++)
        for(int j=0; i< col; i++)
            arr[i][j]=i+j;
    for(int i=0; i< col+row-1; i++)
        printf("%d ",*arr[i]);
}

Question Number 238

Give the output of the following code snippet :
int main()
{
    int a[4] = {1, 2, 3, 4};
    int *ptr = &a[2];
    *ptr = *ptr * 1;
    printf("%d\n", *ptr);
}

Question Number 239

Give the output of the following code snippet :
typedef int(*fptr)(int a);
typedef struct
{
    int a;
    fptr fpt[10];
} fp;

int fun(int a)
{
    int sum = 0;
    _asm
    {
        mov         dword ptr[a], 24h
        mov         eax, dword ptr[a]
        add         eax, 0Ah
        mov         dword ptr[a], eax
        mov         ecx, dword ptr[sum]
        and         ecx, dword ptr[a]
        mov         dword ptr[sum], ecx
    }
    printf("%d", sum);
    return 0;
}

int _tmain()
{
    fp myS;
    myS.fpt[1] = fun;
    _asm
    {
        push        5Ah
        mov         ecx, 4
        shl         ecx, 0
        mov         edx, dword ptr[ebp + ecx - 28h]
        call        edx
        add         esp, 4
    }
}

Question Number 240

Files Test1.c, Test1.h, Test2.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */

void func();

/* Test1.c */

#include "Test1.h"

static int value=200;
void func()
{
    int value = 300;
    printf ( "Output = %d\n", value );

}



/* Test2.c */
#include "Test1.h"

static int value= 100;
void main ()
{
    func();
    printf ( "Output = %d\n", value );
}

Question Number 241

Give the output of the following code snippet :
void main()
{
    double a=100.25;
    double b=200.25;
    double c = ((a) == (b) ? (++a) : (--b));
    double d= ((a) > (b) ? (a--) : (--b));

    printf("%.2f %.2f",c,d);
}

Question Number 242

Give the output of the following code snippet :
int main()
{
    char *p[1] = {"Hello"};
    printf("%s", (p)[1]);
    return 0;
}

Question Number 243

Give the output of the following code snippet :
int main()
{
    int i, *p, q;
    _asm
    {
        mov         dword ptr[i], 3
        lea         eax, [i]
        mov         dword ptr[p], eax
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        add         edx, 2
        mov         eax, dword ptr[p]
        mov         dword ptr[eax], edx
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        add         edx, 0Ah
        mov         dword ptr[q], edx
        mov         eax, dword ptr[p]
        add         eax, 4
        mov         dword ptr[p], eax
    }
    printf("%d", q);
}

Question Number 244

Give the output of the following code snippet :
struct point
{
    int x;
    int y;
};
void fun(struct point p[])
{
    printf("%d %d\n",p->y,++p[1].y);
}
int main()
{
    struct point p1[] = {1, 2, 3, 4};
    fun(p1);
}

Question Number 245

Give the output of the following code snippet with the following command line arguments : >Test.c 100 200 300
int main(int argc, char *argv[])
{
    int i=strlen(argv[3]);
    int sum=0;
    do
        printf("%d ",atoi(argv[argc])+atoi(argv[--argc])+atoi(argv[argc]));
    while(argc);
}

Question Number 246

Give the output of the following code snippet :
int sum(int x, int y)
{
    _asm
    {
        mov         eax,dword ptr [x]
        sub         eax,dword ptr [y]
    }
}
void main()
{
    int(*fptr)(int a, int b);
    int a = 0;
    fptr=sum;
    _asm
    {
        push        16h
        push        0Dh
        call        dword ptr [fptr]
        add         esp,8
        mov         dword ptr [a],eax
    }
    printf("%d", a);
}

Question Number 247

Give the output of the following code snippet :
int main()
{
    char *a[1] = {"Hello"};
    printf("%s", *a);
    return 0;
}

Question Number 248

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])
{
    int a = 0, b = 0;
    __asm
    {
        mov eax,Label1
        call eax
        mov ebx,Label2
        jmp ebx
        Label1 :
        mov a, 100
        ret
        Label2 : mov b, 200
    }
    printf("%d %d", a,b);
}

Question Number 249

Give the output of the following code snippet :
void main()
{
    int a=20,c=10,b=30;
    _asm
    {
        mov eax,2
        mov ebx,a
        and eax,ebx
        jz Label2
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        sub eax,ecx
        jz Label1
        and eax,dword ptr[c]
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 250

Give the output of the following code snippet :
typedef struct student
{
    char a[10];
} stu;
void main()
{
    struct stu st;
    st.a = "Jenn";
    printf("%s", st.a);
}

Question Number 251

Give the output of the following code snippet :
int main()
{
    int *ptr=(int *)1000;
    int a=10;
    ptr=&a;
    *ptr=*ptr+1;
    printf("%d",*ptr);
    return 0;
}

Question Number 252

Give the output of the following code snippet :
void main()
{
    int a=10,c=50,b=30;
    _asm
    {
        mov eax,5
        mov ebx,a
        sub eax,dword ptr[a]
        jc Label2
        xor eax,dword ptr[c]
        mov b,eax
        Label2:
        mov ecx,dword ptr[a]
        cmp eax,ecx
        je Label1
        or eax,b
        mov c,eax

    }
Label1:	printf("%d %d",b,c);
}

Question Number 253

Give the output of the following code snippet :
struct student
{
    char *name;
} s;
struct student fun(void)
{
    s.name = "Jenn";
    return s;
}
void main()
{
    struct student m = fun();
    printf("%s ", m.name);
    struct student p=m;
    printf("%s\n", p.name);
}

Question Number 254

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])

{
    int a = 0, b = 0, c=0,d=0;
    __asm
    {
        push 10
        push 20
        push 30
        push 40
        mov ebx,30
        push ebx
        mov eax, 40
        mov ecx,label1
        call ecx
        add esp,0x10
        mov edx,Label2
        mov dword ptr[c],edx
        jmp dword ptr[c]
        label1:
        mov eax, dword ptr[esp + 4]
        mov a, eax
        mov eax, dword ptr[esp + 8]
        mov b, eax
        mov eax, dword ptr[esp + 12]
        mov c,eax
        mov eax, dword ptr[esp + 16]
        mov d,eax
        ret

        Label2:mov c,ebx
        mov b,eax

    }
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 255

Files Test1.c, Test1.h, Test2.c, Test2.h and Test3.c are in same directory with the content given below. All files are in the same project of a console application. Predict the output of the program.
/*  Test1.h */
void func1();


/* Test2.h */
static int value;
void func();

/* Test1.c */

#include"Test2.h"

void func()
{
    value = 200;
    func1();
    printf("Output = %d\n",++value);
}

/* Test2.c */
#include"Test2.h"

void func1()
{
    value  = 200;
    printf ( "Output = %d\n", ++value );
    func();

}



/* Test3.c */

#include "Test1.h"
#include "Test2.h"

void main ()
{
    func();

}