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.
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);
}
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));
}
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 );
}
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;
}
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]);
}
}
}
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);
}
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();
}
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");
}
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);
}
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));
}
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();
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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();
}
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;
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
int *p = (int *)10;
int *q = (int *)6;
printf("%d", p % q);
}
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);
}
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;
}
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();
}
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;
}
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));
}
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);
}
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);
}
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();
}
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);
}
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;
}
}
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);
}
Consider the given structure and state whether it is a self referencing structure :
struct node
{
int x;
int *next;
};
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
}
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);
}
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);
}
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));
}
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 );
}
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);
}
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;
}
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]);
}
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);
}
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);
}
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();
}
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);
}
Give the output of the following code snippet :
int main()
{
int *p = (int *)12;
int *q = (int *)4;
printf("%d", p - q);
}
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);
}
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);
}
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();
}
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");
}
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);
}
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);
}
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);
}
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);
}
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();
}
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;
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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]);
}
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");
}
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);
}
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);
}
Which of the following are valid pointer operations in C?
< NIL>
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);
}
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);
}
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);
}
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);
}
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);
}
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;
}
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;
}
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);
}
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();
}
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;
}
}
}
}
Give the output of the following code snippet :
int main()
{
int i = 10;
int *p = &i;
printf("%f\n", *(float*)p);
return 0;
}
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);
}
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);
}
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);
}
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);
}
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();
}
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]);
}
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);
}
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));
}
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);
}
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);
}
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));
}
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);
}
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);
}
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);
}
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--;
}
}
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);
}
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;
}
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 );
}
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]++);
}
}
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;
}
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));
}
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);
}
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();
}
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;
}
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]);
}
}
}
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);
}
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;
}
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;
}
}
}
}
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);
}
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);
}
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);
}
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);
}
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));
}
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);
}
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);
}
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
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;
}
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);
}
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);
}
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]);
}
}
}
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();
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
void main()
{
char *str;
char *str2;
str="Hello";
str2="World";
strcpy(str,str2);
printf("%s",str);
}
Which of the following is an example of a null pointer in C?
< NIL>
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();
}
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
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();
}
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);
}
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
}
}
A pointer may be of the types :
< NIL>
Give the output of the following code snippet :
int main()
{
const int y=100;
const int* z=&y;
*z=200;
printf("%d",*z);
}
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 );
}
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);
}
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);
}
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);
}
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));
}
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);
}
Give the output of the following code snippet :
void main()
{
int a[10] = {1};
printf("%d %d", sizeof(a),*a);
};
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;
}
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);
}
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]);
}
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));
}
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
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);
}
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;
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)());
}
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);
}
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);
}
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);
}
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);
}
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);
}
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");
}
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));
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
void main()
{
char *str1="%s";
char str[]="Hello World";
printf(str1,str);
}
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);
}
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);
}
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--;
}
}
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;
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);
}
While passing a two dimensional array as argument to a function, which of the following parameters is optional?
< NIL>
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);
}
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;
}
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);
}
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);
}
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++);
}
}
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);
}
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);
}
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;
}
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);
}
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 );
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
typedef struct
{
int a;
} Temp;
void main()
{
Temp t1;
t1.a=100;
printf("%d",t1.a);
}
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);
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
void main()
{
char a[10][6] = {"Hola","Hello","Jello"};
printf("%s", a+1);
}
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);
}
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);
}
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;
}
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);
}
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);
}
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);
}
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());
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
int i=10,*p,*q;
p=&i;
*q=*p;
printf("%d",*q);
}
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;
}
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);
}
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);
}
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");
}
Give the output of the following code snippet :
void main()
{
char *str1="%s";
char str[]="Hello World";
printf(str1,str+1);
}
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;
}
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);
}
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);
}
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();
}
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);
}
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);
}
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
int a[][] = {{1, 2, 3}, {5, 2, 3}};
printf("%d",*a[0]+1);
}
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();
}
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();
}
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]);
}
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);
}
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
}
}
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 );
}
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);
}
Give the output of the following code snippet :
int main()
{
char *p[1] = {"Hello"};
printf("%s", (p)[1]);
return 0;
}
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);
}
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);
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
char *a[1] = {"Hello"};
printf("%s", *a);
return 0;
}
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
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);
}
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();
}