Knowledge check.

- Choose one best answer from given 4 choices for each questions.
- Review before submitting, as you won't get a chance to review after submitting.
- 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 point
{
    int x;
    int y;
};
int main()
{
    struct point p = {1};
    struct point p1 = {1,1};
    if(p.y == p1.y)
        printf("Equal\n");
    else
        printf("Not equal\n");
}

Question Number 2

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

void add( char* num )
{
    struct node *temp2;
    temp2=(struct node *)malloc(sizeof(struct node));
    temp2->data=num;
    temp2->next=head;
    head=temp2;
}

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

void main()
{
    struct node *n;
    add("Hello");
    add("World");
    display(n);
}

Question Number 3

Give the output of the following code snippet :
int(*funcptr) (int a);
int myfunc(int a)

{
    _asm
    {
        mov         dword ptr [a],0C8h
    }
    printf("%d",a);
    return 0;
}
int testCaller(int(*funcptr) (int a))
{
    _asm
    {
        push        64h
        call        dword ptr [funcptr]
        add         esp,4
    }
    return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
    testCaller(myfunc);
    return 0;
}

Question Number 4

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

Question Number 5

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

Question Number 6

The & operator cannot be used to applied to which of the following?
< NIL>

Question Number 7

Give the output of the following code snippet :
int main()
{
    int x=10,y=10,z=20;
    int a= --z <  ++y > x--;
    int c= ++x > --y;
    int b=(20,10)+(10,20,10)+c;
    printf("%d %d",b,c);
}

Question Number 8

Give the output of the following code snippet :
int main()
{
    int x=10,y=10,z=20;
    int a= --z <  ++y;
    int b= ++x > --y;
    int c==0;
    printf("%d %d %d",a,b,c);
}

Question Number 9

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 10

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)
    {
        i=va_arg(marker,int);
        printf("%d ",i);
    }
    va_end(marker);
    return sum;
}
int main(int argc, char *argv[])
{
    sum(2,4,6,-1);
}

Question Number 11

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]));
    while(!argc);
}

Question Number 12

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

Question Number 13

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

{
    int i = 3, a = 10, j = 5;
    _asm
    {
        Label1:  mov         eax, dword ptr[a]
        add         eax, dword ptr[j]
        add         eax, dword ptr[i]
        mov         dword ptr[a], eax
        mov         ecx, dword ptr[i]
        add         ecx, 1
        mov         dword ptr[i], ecx
        cmp         dword ptr[i], 3
        jl          Label1
    }
    printf("%d", a);
}

Question Number 14

Give the output of the following code snippet :
void main()
{
    int ch=0,sum=0,i;
    int num=500,n=4,temp;
    temp=num;
    while(temp!=0)
    {
        temp>>=n;
        ch++;
    }
    printf("%d",ch);

}

Question Number 15

Give the output of the following code snippet :
int main()
{
    int x=100,y=200,z=0;
    x>300?y=20:x=300;
    x< 300?x=40:z=100;
    printf("%d %d %d",x,y,z);
    return 0;
}

Question Number 16

Give the output of the following code snippet :
union Temp
{
    int x;
    char z;
};
void main()
{
    union Temp t1;
    t1.x=100;
    t1.z='C';

    printf("%d %c",t1.x,t1.z);
}

Question Number 17

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

Question Number 18

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
        dec ecx,2
        mov dword ptr[c],ecx

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

Question Number 19

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

Question Number 20

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[])
{
    for(int i=1; i< argc; i++)
        printf("%s ", argv[i]);
    return 0;
}

Question Number 21

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

Question Number 22

Give the output of the following code snippet :
struct point
{
    int x;
    int y;
    int z;

};
int main()
{
    int* offset=&(((point*)0)->z);
    printf("%d",offset);
}

Question Number 23

Give the output of the following code snippet :
struct p
{
    int x;
    int y;
};
int main()
{
    struct p p1[] = {10,20};
    struct p *ptr1 = p1;
    int x = (sizeof(p1) / sizeof(ptr1));
    if (x == 1)
        printf("%d\n", ptr1->x);
    else
        printf("%d",x);
}

Question Number 24

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
        pop edx
        add esp,8

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

Question Number 25

Give the output of the following code snippet :
int main()
{
    int a = 20, b = 10,c=2;
    _asm
    {
        mov eax,esp
        mov ebx,50
        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,a);
}

Question Number 26

Give the output of the following code snippet :
int main()
{
    int a=10, b=20, c;
    c = (a == 100 && b >= 10);
    c= a-- + b++ + --c;
    printf("%d", --c);
    return 0;
}

Question Number 27

Which of the following statements is true about the array given below?

int  *arry[13];

Question Number 28

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 29

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 30

Predict the output of the following code snippet :

int Delete(int num)
{
    struct node *temp, *prev;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=temp->next;
                free(temp);
                return 1;
            }
            else
            {
                prev->next=temp->next;
                free(temp);
                return 1;
            }
        }
        else
        {
            prev=temp;
            temp= temp->next;
        }
    }
    return 0;
}

void main()
{

    add(100);
    add(200);
    Delete(100);
    Delete(200);
    Delete(300);
    display();
}

Question Number 31

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

Question Number 32

Give the output of the following code snippet :
int main()
{
    float x=10.00;
    double y=10;
    if( x == y)
        printf("%.2e  %f",x,x);
    else
        printf("%g %f",y,y);
}

Question Number 33

Give the output of the following code snippet :
int main()
{
    const char *s;
    char str[] = "SourceLens";
    s = str;
    printf("%s", s);
}

Question Number 34

Give the output of the following code snippet :
void main()
{
    char s[] = "hello";
    char *p=s;
    *p+=2;
    printf("%c\n", *p);
}

Question Number 35

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 ebx
        mov ecx,esp
        pop ebx
        sub ecx,eax
        or ebx,ecx
        inc ebx
        mov a,ecx
        mov b,ebx

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

Question Number 36

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
        and eax,ebx
        xor eax,dword ptr[c]
        mov a,eax
    }
    printf("%d",a);
}

Question Number 37

Give the output of the following code snippet :
void main()
{
    char str[]="Hello world";
    char *str1="Hello world";
    if(str==str1)
        printf("True");
    else
        printf("False");
}

Question Number 38

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 39

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])
{
    int a, *p;
    _asm
    {
        mov         dword ptr[a], 0Ah
        lea         eax, [a]
        mov         dword ptr[p], eax
    }
    printf("%d", *p);
    return 0;
}

Question Number 40

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 dword ptr[b]
        push eax
        push ebx
        mov ecx, esp
        pop dword ptr[b]
        mov ebx, dword ptr[b]
        sub ecx, eax
        mov a, ecx
        mov b, ebx

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

Question Number 41

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

Question Number 42

Give the output of the following code snippet :
char *func()
{
    char *s;
    s=(char*)malloc(20,sizeof(char));
    strcpy(s,"Hello World");
    return s;
}
void main()
{
    char *s;
    s=func();
    printf("%s",s);
}

Question Number 43

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);
/* 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 ()
{
    func(arg);
    value = 300;
    printf ( "Output = %d\n", ++value );
}

Question Number 44

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("%c\n",ptr1->x);
}

Question Number 45

The symbolic constant NULL is defined in which header file?

Question Number 46

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 47

Give the output of the following code snippet :
int sum1(int x,int y)
{
    return x+y;
}
void main()
{
    int (*fptr)(int a,int b);
    fptr = &sum1;
    printf("%d",(*fptr)(10,20));
}

Question Number 48

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 */
static int value;
void func();
void func1();
/* Test1.c */
#include "Test1.h"
void func()
{
    func1();
}

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

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

}


/* Test3.c */

#include "Test1.h"

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

Question Number 49

Give the output of the following code snippet :
void main()
{
    int a = 50, b = 40, c = 20;

    _asm
    {
        cmp         dword ptr[a], 0Ah
        jle         Label1
        cmp         dword ptr[a], 64h
        jge         Label1

        mov         eax, dword ptr[b]
        add         eax, dword ptr[c]
        mov         dword ptr[a], eax

        jmp         Label2

        Label1 : mov         eax, dword ptr[b]
        sub         eax, dword ptr[c]
        mov         dword ptr[a], eax


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

Question Number 50

Give the output of the following code snippet :
void print(int num, ...)
{
    char *str;
    va_list ptr;
    va_start(ptr, num);
    str = va_arg(ptr, char *);
    printf("%s ", str);
}
int main()
{
    print(1, "Hola", "Hi", "Hello");
    return 0;
}

Question Number 51

Give the output of the following code snippet :
struct student
{
    char c[10];
    int age;
};
void main()
{
    struct student s= {"Jenn",15};
    struct student m;
    m=s;
    if(m.c==s.c)
        printf("%s",m.c);
    else
        printf("%s",strupr(m.c));
}

Question Number 52

Give the output of the following code snippet : Assume the array begins at the following address 5000
int main()
{

    int arr[2][2]= {20,10,5,0};
    int *arry2[]= {*arr,*arr+2,*arr+3,*arr+4};
    printf("%u %u",arr,&arr+1);

}

Question Number 53

Give the output of the following code snippet :
void main()
{
    int a=100;
    int b=200;
    char str[10];
    int x;
    itoa(64,str,16);
    printf("%s ",str);
}

Question Number 54

Give the output of the following code snippet :
void func(char **a)
{
    printf("%s",*(a+5));
}
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 55

Give the output of the following code snippet :
void main()
{
    char str[]="Hello world";
    char *str1="Hello world";
    int n=strcmp(str,str1);
    if(n)
        printf("True");
    else
        printf("False");
}

Question Number 56

Give the output of the following code snippet :
void main()
{
    int a = 10, b = 0, c;
    _asm
    {
        cmp         dword ptr[a], 32h
        jg          Label1
        mov         dword ptr[b], 14h
        mov         dword ptr[c], 1Eh
        jmp         Label2
        Label1 : mov         dword ptr[b], 28h
        mov         dword ptr[c], 32h
        Label2 :

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

Question Number 57

Give the output of the following code snippet :
void main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    __asm
    {
        push 100
        push 200
        mov eax,Func
        call eax
        mov ebx,End
        jmp ebx
        Func :
        add esp,4
        pop eax
        mov a, eax
        pop eax
        mov b, eax
        sub esp,0x8
        ret
        End : add esp, 0x8
    }
    printf("%d %d", a, b);
}

Question Number 58

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

Question Number 59

Give the output of the following code snippet : Assume address of p is 5000
int main()
{
    int *p;
    printf("%p ",p);
    p=p+1;
    printf("%p",p);
}

Question Number 60

Give the output of the following code snippet with the following command line arguments : >Test.c Hello World Program
int main(int argc, char *argv[])
{
    int i=strlen(argv[3]);
    int sum=0;
    printf("%c %d",argv[2][i],i);
}

Question Number 61

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

Question Number 62

Give the output of the following code snippet :
union p
{
    int x;
    char y;
};
int main()
{
    union p p1[] = {1, 92, 3, 96};
    union p *ptr1 = p1;
    printf("%d\n",ptr1->x);
}

Question Number 63

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,*temp2;
    if (head== NULL)
    {
        temp=(struct node *)malloc(sizeof(struct node));
        temp->data=num;
        temp->next=NULL;
        temp->prev=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;
        temp2->prev=temp;
    }

}


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

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

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

Question Number 64

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

Question Number 65

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 66

Give the output of the following code snippet :
void main()
{
    int x = 1, y = 0, z = 5;
    int a = x & y || z ^ y && x>>2;
    printf("%d", a);
}

Question Number 67

Give the output of the following code snippet :
int(*funcptr) (int a);
int myfunc(int a)

{
    int sum=0;
    _asm
    {
        mov         dword ptr [a],32h
        mov         eax,dword ptr [sum]
        add         eax,dword ptr [a]
        mov         dword ptr [sum],eax
        mov         ecx,dword ptr [a]
        imul        ecx
        mov         dword ptr [a],ecx
    }
    printf("%d",a);
    return 0;
}
int testCaller(int(*funcptr) (int a))
{
    _asm
    {
        push        32h
        call        dword ptr [funcptr]
        add         esp,4
    }
    return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
    testCaller(myfunc);
    return 0;
}

Question Number 68

Give the output of the following code snippet :
void main()
{
    int *arr;
    arr=(int*)malloc(10);
    arr[1]=10;
    printf("%d ",arr[1]);
    arr=(int*)realloc(arr,15);
    arr[12]=200;
    printf("%d ",arr[12]);
}

Question Number 69

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 70

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], 0
        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 71

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
        mov ecx,Label2
        jmp ecx
        label1:
        add esp,4
        mov eax, dword ptr[esp + 8]
        mov a, eax
        pop eax
        mov b, eax
        mov eax, dword ptr[esp + 4]
        mov c,ebx
        sub esp,8
        ret
    }
Label2:
    printf("%d %d %d", a, b, c);

}

Question Number 72

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

Question Number 73

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 74

Give the output of the following code snippet :
int main()
{
    int a = 10, b = 20, c;
    _asm
    {
        mov eax, a
        mov ebx, b
        add eax, ebx
        mov c, eax
    }
    printf("%x", c);
}

Question Number 75

Give the output of the following code snippet :
int main()
{
    char ch = 'c';
    char *chptr = &ch;
    printf("%f",*chptr);
}

Question Number 76

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 77

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

Question Number 78

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

Question Number 79

Give the output of the following code snippet :
int main()
{
    double *p = (double *)0;
    printf("%p ",p);
    p=p+1;
    printf("%p",p);
}

Question Number 80

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 81

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

Question Number 82

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 83

Give the output of the following code snippet :
int main()
{
    char *Pa1;
    char c='D';
    Pa1=&c;
    printf("%c",*Pa1);
}

Question Number 84

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 dword ptr[b]
        mov ecx, esp
        pop dword ptr[b]
        mov ebx, dword ptr[b]
        sub ecx, eax
        mov a, ecx
        mov b, ebx

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

Question Number 85

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

Question Number 86

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

}

Question Number 87

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 88

Give the output of the following code snippet :
typedef struct Test
{
    int x, y;
};
int main()
{
    Test *k1;
    Test k= {1,2};
    k1=&k;
    printf("%d\n", k1.y);
}

Question Number 89

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 90

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

Question Number 91

Give the output of the following code snippet with the following command line arguments : >Test.c Hello World
void func(char *arry[])
{
    for(int i=1; i< =3; i++)
        printf("%s ", (arry[i])+2);
}

int main(int argc, char *argv[])
{
    func(argv);
    return 0;
}

Question Number 92

Give the output of the following code snippet :
void func(char *s)
{
    int len=0;
    while(*s!='\0')
    {
        len++;
        s++;
    }
    printf("%d",len);
}
void main()
{
    char str1[15]="Hello World";
    char *x;
    x=str1;
    func(x);
}

Question Number 93

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

Question Number 94

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

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

}

Question Number 95

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 96

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,*temp2;
    if (head== NULL)
    {
        temp=(struct node *)malloc(sizeof(struct node));
        temp->data=num;
        temp->next=NULL;
        temp->prev=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;
        temp2->prev=temp;
    }

}


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

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

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

Question Number 97

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

Question Number 98

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",y);
    else
        printf("%.0f",z);
}

Question Number 99

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

Question Number 100

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;
extern int arg;
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"

int value = 200;

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

Question Number 101

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

Question Number 102

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

Question Number 103

Give the output of the following code snippet :
void print(int num,...)
{
    int i,j,k;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,char);
    printf("%c ",j);
    va_end(marker);
}
void print2(int num,...)
{
    int i,j,k;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,int);
    printf("%d ",j);
    va_end(marker);
}
int main(int argc, char *argv[])
{
    print(10,'X','Y');
    print(10,88,89);
}

Question Number 104

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

Question Number 105

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

Question Number 106

Give the output of the following code snippet with the following command line arguments : >Test.c 100 200 300
void func(char *arry[])
{
    for(int i=0; i< 4; i++)
        printf("%s ", (arry[i]));
}

int main(int argc, char *argv[])
{
    func(argv);
    return 0;
}

Question Number 107

Give the output of the following code snippet :
void main()
{
    typedef unsigned int uint;
    uint x=100,y=200;
    unsigned int a=300,b=400;
    int z;
    printf("%d",x*y/a-b);
}

Question Number 108

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

    int arr[5]= {20,10,5,0};
    int arry2[]= {*arr,*arr+2,*arr+3,*arr+5};
    int *p;
    p=arry2;
    p++;
    arr[5]=10;
    arry2[6]=++(*arr);
    printf("%d %d",*p,*arr);

}

Question Number 109

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

Question Number 110

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",floor(y));
    else
        printf("%.2f",ceil(z));
}

Question Number 111

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]
        add        eax, dword ptr[ecx]
        mov         ecx, dword ptr[j]
        cdq
        idiv        dword ptr[ecx]
        add         eax, dword ptr[i]
        mov         dword ptr[k], eax
    }
    printf("%d\n", k);
    return 0;
}

Question Number 112

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

Question Number 113

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

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;

}

int Delete(int num)
{
    struct node *temp, *prev;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=temp->next;
                free(temp);
                return 1;
            }
            else
            {
                prev->next=temp->next;
                free(temp);
                return 1;
            }
        }
        else
        {
            prev=temp;
            temp= temp->next;
        }
    }
    return 0;
}

void main()
{
    struct node *n;
    add(100);
    add(200);
    display(n);
    add(300);
    Delete(100);
    display(n);
    Delete(200);
}

Question Number 114

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 115

Give the output of the following code snippet :
#define offset(type,mem)(int)&(((type*)0)->mem)
int main()
{
    struct u
    {
        char x;
        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 116

Give the output of the following code snippet :
union p
{
    int x;
    char y;
};
int main()
{
    union p p1,p2;
    p1.x = 10;
    p2.x = 12;
    printf("%d\n", p1.y);
}

Question Number 117

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

Question Number 118

Give the output of the following code snippet :
int main()
{
    int a = 10;
    int b = 10;
    if (a == (a&b))
        printf("True ");
    else
        printf("False");
}

Question Number 119

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

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

Question Number 120

Give the output of the following code snippet :
typedef int val1;
#define INT float;
void main()
{
    val1 a=100,b=200;
    INT x=10,y=20;
    printf("%d %d",a+b,x+y);
}

Question Number 121

Give the output of the following code snippet :
void main()
{
    typedef char ptr,*qtr;
    const char fptr=100;
    qtr a,b;
    ptr p=20,q=30;
    a=&fptr;
    b=&p;
    b++;
    printf("%d %d",*a,*b);
}

Question Number 122

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"

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 123

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->next!=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 124

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();
/* Test1.c */
#include "Test1.h"
int value = 100;
void func()
{
    printf("Output = %d",value);
}

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

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

}


/* Test3.c */

#include "Test1.h"

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

Question Number 125

Give the output of the following code snippet :
char *func()
{
    char str[20];
    strcpy(str,"Hello World");
    return str;

}
void main()
{
    char s[20];
    s=func();
    printf("%s",s);
}

Question Number 126

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

Question Number 127

Give the importance of the following line in the given lines of code : prev->next=temp->next;
int Delete(int num)
{
    struct node *temp, *prev;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=temp->next;
                free(temp);
                return 1;
            }
            else
            {
                prev->next=temp->next;
                free(temp);
                return 1;
            }
        }
        else
        {
            prev=temp;
            temp= temp->next;
        }
    }
    return 0;
}

Question Number 128

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);
}
void func(struct point *p)
{
    printf("%d\n", p.x++);
}

Question Number 129

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

Question Number 130

Give the output of the following code snippet :
void print(int num,...)
{
    int i,j,k;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,char);
    printf("%c ",j);
    va_end(marker);
}
void print2(int num,...)
{
    int i,j,k;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,int);
    printf("%d ",j);
    va_end(marker);
}
int main(int argc, char *argv[])
{
    print2(10,'X','Y');
    print2(10,88,89);
}

Question Number 131

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         edx, dword ptr[ecx]
        add         edx, 0Ah
        mov         eax, dword ptr[j]
        mov         dword ptr[eax], edx
        mov         ecx, dword ptr[j]
        mov         edx, dword ptr[i]
        imul        edx, dword ptr[ecx]
        mov         eax, dword ptr[j]
        sub         edx, dword ptr[eax]
        mov         dword ptr[k], edx
    }
    printf("%d\n", k);
}

Question Number 132

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 133

Give the output of the following code snippet :
int main()
{
    float *Pa1,*Pa2,*Pa3;
    float a1=10.25,b1=12.5;
    Pa1=&a1;
    Pa2=&b1;
    *Pa3=*Pa1**Pa2;
    printf("%f",*Pa3);
}

Question Number 134

Give the output of the following code snippet :
struct stud
{
    int no;
    int no2;
    struct emp *link;
};
struct emp
{
    int id;
    struct emp *link2;
};
typedef struct stud *ptr;
typedef struct emp *qtr;

void main()
{
    ptr s=(stud *)malloc(sizeof(struct stud));
    s->no=10;
    printf("%d",s->no);
}

Question Number 135

Give the output of the following code snippet :
union u
{
    struct
    {
        unsigned char x : 2;
        unsigned int y : 2;
    } p;
    int x;
};
int main()
{
    union u u1 = {2};
    printf("%d\n", u1.p.y);
}

Question Number 136

Give the output of the following code snippet :
int main()
{
    float x=80.00;
    double y=90.00;
    if( x > y)
        printf("%.2f",sqrt(x));
    else
        printf("%.2g",sqrt(y));
}

Question Number 137

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",y);
    else
        printf("%.0f",z);
}

Question Number 138

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;
/* Test1.c */

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

/* Test2.c */

#include"Test1.h"

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

Question Number 139

Give the output of the following code snippet :
typedef struct error
{
    int warning,err,exception;
} ERR;
void main()
{
    ERR e;
    e.err;
    printf("%d",e.err);
}

Question Number 140

Give the output of the following code snippet :
void main()
{
    const int val=20;
    int arry[val];
    char str[val];
    arry[10]=10;
    arry[5]=20;
    str[3]='B';
    printf("%d %c",arry[10],++str[3]);
}

Question Number 141

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

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

Question Number 142

Give the output of the following code snippet :
int main ()
{
    char *ptr="Hello";
    printf("%s",++ptr);
}

Question Number 143

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[b]
        mov ecx,esp
        pop dword ptr[b]
        mov ebx,dword ptr[b]
        sub ecx,eax
        mov a,ecx
        mov b,ebx

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

Question Number 144

Give the output of the following code snippet :
union point
{
    int x;
    int y;
};
int main()
{
    union point p1= {1, 2};
    union point *ptr1 = p1;
    printf("%d %d",(ptr1)->x,ptr1->y);
}

Question Number 145

Give the output of the following code snippet :
void main()
{
    int x = 1, z = 3;
    int y = x < <  4;
    printf(" %d\n", y + 5);
}

Question Number 146

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 147

Give the output of the following code snippet :
int main()
{
    typedef char char_arry[6];
    char_arry arry= {10,20,30,'a','b','c'};
    int i=0;
    while(i!=6)
    {
        printf("%d  ",arry[i]+1);
        i+=2;
    }
}

Question Number 148

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(str));
}

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 = 100;
void func();

/* Test1.c */

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

}

/* Test2.c */

#include"Test1.h"

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

}

Question Number 150

Give the output of the following code snippet :
void f(char* i)
{
    printf("%s\n", i);
}
void (*fptr)(char*) = f;
void main()
{
    fptr("HelloWorld");
}

Question Number 151

Give the output of the following code snippet :
int main()
{
    typedef int iptr;
    static iptr *ptr;
    int x=100;
    ptr=&x;
    printf("%d",*ptr);
}

Question Number 152

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

    int arry[5]= {20};
    arry[5]=10;
    arry[6]=++(*arry);
    printf("%d",0[arry]);
}

Question Number 153

Give the output of the following code snippet :
void main()
{
    int a=100,c=0,b=0;
    _asm
    {
        mov eax,-15
        mov ebx,a
        sub eax,ebx
        mov b,eax
        add eax,a
        jns Label1
        mov c,ebx
    }
Label1: printf("%d %d",b,c);
}

Question Number 154

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", ptrary[0].name);
    return 0;
}

Question Number 155

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

Question Number 156

Give the output of the following code snippet :
void main()
{
    int a=20,c=10,b=30;
    _asm
    {
        mov eax,10
        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,30
        mov c,eax

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

Question Number 157

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

Question Number 158

Give the output of the following code snippet :
void print(int num,...)
{
    int i,j,k;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,char);
    printf("%c ",j);
    va_end(marker);
}
void print2(int num,...)
{
    int i,j,k;
    va_list marker;
    va_start(marker,num);
    j=va_arg(marker,int);
    printf("%d ",j);
    va_end(marker);
}
int main(int argc, char *argv[])
{
    print2(10,'X','Y');
    print(10,88,89);
}

Question Number 159

What do the following lines of code in the function indicate? if(temp->next==NULL) temp->prev->next=NULL;
void Delete(int num)
{
    struct node *temp;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=head->next;
                head->prev=NULL;
            }
            else
            {
                if(temp->next==NULL)
                    temp->prev->next=NULL;
                else
                {
                    temp->next->prev=temp->prev;
                    temp->prev->next=temp->next;

                }
            }
            free(temp);
            return;
        }
        temp= temp->next;
    }
}

Question Number 160

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])
{
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    __asm
    {
        push 20
        push 30
        push 40
        call Func
        jmp End
        Func :
        add esp, 4
        pop eax
        mov a, eax
        pop eax
        mov b, eax
        pop eax
        mov c, eax
        or eax,b
        xor eax,a
        mov d,eax
        sub esp, 0x10
        ret
        End : add esp, 0xC
    }
    printf("%d %d %d %d", a, b, c, d);
}

Question Number 161

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

    int a=10,b=20;
    Pa1=a;
    Pa2=b;
    *Pa3=*Pa1**Pa2;

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

Question Number 162

Give the output of the following code snippet :
int main()
{
    int *p = (int *)2;

    printf("%d ", !p);
}

Question Number 163

Give the output of the following code snippet :
struct stud
{
    int age;
    char *name;
}*stud[10];
void main()
{
    printf("%d",sizeof(stud[10]));
}

Question Number 164

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 */
static 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"

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

}



/* Test3.c */

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

int arg =20;
void main ()
{
    func(arg);
}

Question Number 165

Give the output of the following code snippet :
typedef union ut
{
    int Ival;
    float fval;
    char s[20];
};
void main()
{
    ut u, *pu, au[5];
    printf("%d",sizeof(au[1]));
}

Question Number 166

We can assign address of any data type to the void pointer.State true or false :
< NIL>

Question Number 167

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()
{
    int value = 200;
    printf ( "Output = %d", value );

}

/* Test2.c */

#include"Test1.h"

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

Question Number 168

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("%c", *++argv[1] );
    return 0;
}

Question Number 169

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]
        dec ebx
        mov ecx,c
        or  ecx,ebx
        mov dword ptr[c],ecx
    }
    printf("%d",c);
}

Question Number 170

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,*temp2;
    if (head== NULL)
    {
        temp=(struct node *)malloc(sizeof(struct node));
        temp->data=num;
        temp->next=NULL;
        temp->prev=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;
        temp2->prev=temp;
    }

}


void Delete(int num)
{
    struct node *temp;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=head->next;
                head->prev=NULL;
            }
            else
            {
                if(temp->next==NULL)
                    temp->prev->next=NULL;
                else
                {
                    temp->next->prev=temp->prev;
                    temp->prev->next=temp->next;

                }
            }
            free(temp);
            return;
        }
        temp= temp->next;
    }
}



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

}

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

Question Number 171

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;


/* Test2.h */
static 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"

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

}



/* Test3.c */

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

int arg =20;
void main ()
{
    func(arg);
}

Question Number 172

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[1].sval);
}

Question Number 173

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

Question Number 174

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;
void func()
{
    printf ( "Output = %d\n", value );

}


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

Question Number 175

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 */
static int value;
void func1();


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

/* Test1.c */

#include "Test1.h"

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

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

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

}


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

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

Question Number 176

Give the output of the following code snippet :
int main()
{
    float x=80.00;
    double y=90.00;
    if( x <  y)
        printf("%.2f",sqrt(x));
    else
        printf("%.2g",sqrt(y));
}

Question Number 177

What is the output of the following code snippet if it is run with no commandline arguments?
int main(int argc, char *argv[])
{
    printf("%d\n", argc);
    return 0;
}

Question Number 178

Give the output of the following code snippet :
union employee
{
    int age;
    double sal;
    char *name;
} u;
int main()
{
    u.name = "Jenn";
    u.age = 25;
    printf("%d", sizeof(u));
}

Question Number 179

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 180

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

    int arr[5]= {20,10,5,0};
    int arry2[]= {*arr,*arr+2,*arr+3,*arr+5};
    int *p;
    p=arry2;
    p++;
    arr[1]=10;
    arry2[2]=++(*arr);
    printf("%d %d",++*p,(*arr)+(*arry2));

}

Question Number 181

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(2, 3));
}

Question Number 182

Give the output of the following code snippet :
void main()
{
    struct temp
    {
        int a;
        struct temp1
        {
            float d;
        } p;
    };
    struct temp st = {1,1.8};
    printf("%d %f",st.a,p.d);
    getch();
}

Question Number 183

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

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

Question Number 184

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

Question Number 185

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 186

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
        mov ecx, 30
        push ecx
        mov edx, 40
        push edx
        push 100
        push 200
        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 187

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 ecx,eax
        mov ecx,dword ptr[a]
        mov a,eax
        mov b,ebx
        mov c,ecx
        pop dword ptr[b]
    }
    printf("%d %d",b,c);
}

Question Number 188

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=func(p1);
    printf("%d\n", p1.y);
}
struct point func(struct point p)
{
    p.y=20;
    return p;
}

Question Number 189

Give the output of the following code snippet :
int main()
{
    char *p = NULL;
    char *q = 0;
    if (!p)
        printf("P ");
    else
        printf("Nullp");
    if (!q)
        printf("Q ");
    else
        printf(" Nullq");
}

Question Number 190

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

Question Number 191

What do the following line of code in the function indicate? temp->prev->next=NULL;
void Delete(int num)
{
    struct node *temp;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=head->next;
                head->prev=NULL;
            }
            else
            {
                if(temp->next==NULL)
                    temp->prev->next=NULL;
                else
                {
                    temp->next->prev=temp->prev;
                    temp->prev->next=temp->next;

                }
            }
            free(temp);
            return;
        }
        temp= temp->next;
    }
}

Question Number 192

Give the output of the following code snippet :
int main()
{
    enum days {Mon=-1, Tue, Wed=10, Thu, Fri, Sat,Sun};
    printf("%d",Thu);
    return 0;
}

Question Number 193

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

Question Number 194

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(11100111);
}

Question Number 195

Give the output of the following code snippet :
void func(int *p,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 196

Give the output of the following code snippet :
int _tmain(int argc, _TCHAR* argv[])
{
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    __asm
    {
        push 100
        push 200
        call Func
        jmp End
        Func :
        pop dword ptr[esp]
        mov eax, dword ptr[esp]
        mov a, eax
        pop dword ptr[esp+8]
        mov eax, dword ptr[esp + 8]

        mov a, eax
        ret
        End :
    }
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 197

Consider the following snippet: Where is the node temp2 added?
void add( int num )
{
    struct node *temp,*temp2;
    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 198

Give the output of the following code snippet :
struct p
{
    int x;
    char c;

};
int main()
{
    struct p p1[2];
    struct p *ptr1 = p1;
    ptr1->c='H';
    printf("%d",ptr1->c);
}

Question Number 199

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 200

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

    int arr[5]= {20,10,5,0};
    int arry2[]= {*arr,*arr+2,*arr+3,*arr+5};
    int *p;
    p=arry2;
    ++(*arry2);
    ++p;
    arr[1]=10;
    arry2[2]=++(*arr);
    printf("%d %d",++*p,(*arr)+++(*arry2));

}

Question Number 201

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

Question Number 202

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 "Test2.h"

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

Question Number 203

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
        push 70
        push 80
        call label1
        add eax,ebx
        mov a,eax
        mov b,ebx
        add esp, 20
        jmp Label2
        label1:
        mov eax, dword ptr[esp + 8]
        mov a, eax
        add a, ebx
        mov eax, dword ptr[esp + 12]
        mov b, eax
        mov eax, dword ptr[esp + 20]
        or edx,ecx
        mov c,eax
        add edx,ecx
        sub edx,10
        mov d,edx
        ret
    }
Label2:
    printf("%d %d %d %d", a, b, c, d);

}

Question Number 204

Give the output of the following code snippet :
int main()
{
    void *vp;
    int j=65;
    vp=&j;
    printf("%c", *(int*)vp);

}

Question Number 205

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 206

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 207

Give the output of the following code snippet :
void main()
{
    char *s = "SourceLens";
    char *p = s;
    printf("%c %c", *p, s[1]);
}

Question Number 208

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 209

Give the output of the following code snippet :
void main()
{
    struct student
    {
        int age;
        int id;
    };
    struct student s= {20,1001};
    int ch;
    char str[10];
    FILE *fp,*fp1;
    fp=fopen("Test.txt","w");
    fwrite(&s,sizeof(s),1,fp);
    fclose(fp);
    fp1=fopen("Test.txt","r");
    struct student s1;
    fread(&s1, sizeof(s1), 1, fp1);
    printf("%d",s1.age);
    fclose(fp1);
}

Question Number 210

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

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

Question Number 211

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

Question Number 212

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()
{
    int value = 200;
    printf ( "Output = %d", value );

}

/* Test2.c */

#include"Test1.h"
extern int value = 100;

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

Question Number 213

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

Question Number 214

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 215

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 216

Give the output of the following code snippet :
struct Test
{
    static int x: 2;
    int y[10]:2;
} t;

void main()
{
    t.x=10;
    t.y=20;
    printf("%d",t.y);
}

Question Number 217

Give the output of the following code snippet :
union stud
{
    int age;
    int id;
};
void main()
{
    union stud s= {20,1001};
    union stud *temp=(stud*)malloc(sizeof(stud));
    temp=&s;
    temp->id=30;
    printf("%d",temp->age);
}

Question Number 218

Give the output of the following code snippet :
int main()
{
    int i, *p, q;
    _asm
    {
        mov         dword ptr[i], 0Ah
        lea         eax, [i]
        mov         dword ptr[p], eax
        mov         ecx, dword ptr[p]
        mov         edx, dword ptr[ecx]
        sub         edx, 10
        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, 6
        mov         dword ptr[p], eax
    }
    printf("%d", q);
}

Question Number 219

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

Question Number 220

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

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

Question Number 221

Give the output of the following code snippet :
void main()
{
    const int val=20;
    int arry[val]= {0};
    char str[val];
    arry[10]=10;
    arry[5]=20;
    str[3]='B';
    printf("%d %c",arry[10]+arry[5],(str[3]++));
}

Question Number 222

Give the output of the following code snippet : Assume the array begins at the following address 5000.
int main()
{

    float arr[3][2][2]= {20.75,10.5,5.25,0.0};
    int s=sizeof(arr);
    int s1=sizeof(arr[1][1]);
    int s3=sizeof(arr[0]);
    printf("%d %u %u",s+s1/s3,arr,&arr+1);

}

Question Number 223

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,*temp2;
    if (head== NULL)
    {
        temp=(struct node *)malloc(sizeof(struct node));
        temp->data=num;
        temp->next=NULL;
        temp->prev=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;
        temp2->prev=temp;
    }

}


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

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

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

Question Number 224

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

Question Number 225

Give the output of the following code snippet :
void main()
{
    typedef char *fptr;
    fptr='A';
    printf("%c",fptr);
}

Question Number 226

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,*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(100);
    AddNode(200);
    Display();
    ReverseList();
    Display();
}

Question Number 227

Give the output of the following code snippet :
int main()
{
    struct u
    {
        unsigned int x[10] : 1;
        unsigned int y : 2;
    } p;
    struct u un= {2,5};
    printf("%d %d",un.x,un.y);
}

Question Number 228

Predict the output of the following code snippet :
int Delete(int num)
{
    struct node *temp, *prev;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=temp->next;
                free(temp);
                return 1;
            }
            else
            {
                prev->next=temp->next;
                free(temp);
                return 1;
            }
        }
        else
        {
            prev=temp;
        }
    }
    return 0;
}

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

Question Number 229

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

Question Number 230

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

Question Number 231

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

Question Number 232

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

    _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         eax, dword ptr[edx]
        mov         ecx, dword ptr[Pa2]
        sub         eax, dword ptr[ecx]
        mov         dword ptr[c], eax
        lea         edx, [c]
        mov         dword ptr[Pa3], edx
    }
    printf("%d", *Pa3);
}

Question Number 233

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

Question Number 234

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

Question Number 235

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

Question Number 236

What do the following lines of code indicate? if(temp==head) { head=temp->next; free(temp); }
int Delete(int num)
{
    struct node *temp, *prev;
    temp=head;
    while(temp!=NULL)
    {
        if(temp->data==num)
        {
            if(temp==head)
            {
                head=temp->next;
                free(temp);
                return 1;
            }
            else
            {
                prev->next=temp->next;
                free(temp);
                return 1;
            }
        }
        else
        {
            prev=temp;
            temp= temp->next;
        }
    }
    return 0;
}

Question Number 237

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[1]->name);
    return 0;
}

Question Number 238

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

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

Question Number 239

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 */

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 240

Give the output of the following code snippet :

int main()
{
    union var
    {
        int a;
    };
    union var v[10];
    v[0].a=10;
    v[1].a=20;
    printf("%d\n", v[0].a);
    return 0;
}

Question Number 241

Give the output of the following code snippet :
struct point
{
    int x;
    char c;
    float y;
    int z;

} ptr;
int main()
{
    float* offset=&(((point*)0)->y);
    printf("%d",offset);
}

Question Number 242

Give the output of the following code snippet :
void main()
{
    char str1[15]="Hello world";
    char *str="Yellow World";
    int i=12;
    char *x,*y;
    x=str1;
    y=str;
    while(i!=0)
    {
        *x++=*y++;
        i--;
    }
    printf("%s",str1);
}

Question Number 243

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

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

Question Number 244

Give the output of the following code snippet :
struct student
{
    int mark1;

    char name1;
    char name2;
    char name3;
    char name4;

};
void main()
{
    struct student stud;
    struct student *s=&stud;
    printf("%d",sizeof(stud));
}

Question Number 245

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 */

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

}

/* Test2.c */

#include"Test1.h"

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

}

Question Number 246

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);
    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 247

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;
    Vobj->Cobj.Id=1001;
    strcpy(Vobj->Cobj.name,"Nano");
    printf("%s",Vobj->Cobj.name);
}

Question Number 248

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);
    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);
    func(arg);

}

Question Number 249

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

Question Number 250

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", b);
}

Question Number 251

Give the output of the following code snippet :
void main()
{
    char *a[10] = {"Yellow","Jello","Hello"};
    for (int i = 0; i < = 3; i++)
        printf("%s ", (a[i]));
}

Question Number 252

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 253

Predict the output of the following code snippet :
void func( int num )
{
    struct node *temp,*temp2;
    if (head== NULL)
    {
        temp=(struct node *)malloc(sizeof(struct node));
        temp->data=num;
        temp->next=NULL;
        temp->prev=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;
        temp2->prev=temp;
    }

}

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

Question Number 254

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.y);
}
void func(struct point *p)
{
    p->x = 10;
}

Question Number 255

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
        mov eax, 40
        mov ecx,label1
        call ecx
        add esp,0x10
        mov edx,Label2
        mov dword ptr[c],edx
        jmp edx
        label1:
        add esp,4
        mov eax, dword ptr[esp + 4]
        mov a, eax
        pop eax
        mov b, eax
        pop eax
        mov c,eax
        mov eax, dword ptr[esp + 8]
        mov d,eax
        sub esp,12
        ret

        Label2:mov c,ebx
        mov b,eax

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

}