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.
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");
}
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);
}
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;
}
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);
}
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);
}
The & operator cannot be used to applied to which of the following?
< NIL>
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);
}
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);
}
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 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);
}
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);
}
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
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);
}
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);
}
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;
}
Give the output of the following code snippet :
void main()
{
char a[10][6] = {"Hola","Hello","Jello"};
printf("%s", a);
}
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);
}
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);
}
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);
}
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);
}
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;
}
Which of the following statements is true about the array given below?
int *arry[13];
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 = 2000;
int b = 1000;
int c = a >> 3;
int d = b >> 2;
if(c == d)
printf("True");
else
printf("False");
}
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();
}
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 :
int main()
{
float x=10.00;
double y=10;
if( x == y)
printf("%.2e %f",x,x);
else
printf("%g %f",y,y);
}
Give the output of the following code snippet :
int main()
{
const char *s;
char str[] = "SourceLens";
s = str;
printf("%s", s);
}
Give the output of the following code snippet :
void main()
{
char s[] = "hello";
char *p=s;
*p+=2;
printf("%c\n", *p);
}
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);
}
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);
}
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");
}
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 _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;
}
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);
}
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));
}
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);
}
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 );
}
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);
}
The symbolic constant NULL is defined in which header file?
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 :
int sum1(int x,int y)
{
return x+y;
}
void main()
{
int (*fptr)(int a,int b);
fptr = &sum1;
printf("%d",(*fptr)(10,20));
}
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();
}
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);
}
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;
}
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));
}
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);
}
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);
}
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);
}
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");
}
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);
}
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);
}
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);
}
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);
}
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);
}
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;
}
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);
}
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();
}
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);
}
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 main()
{
int x = 1, y = 0, z = 5;
int a = x & y || z ^ y && x>>2;
printf("%d", a);
}
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;
}
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]);
}
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);
}
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);
}
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);
}
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);
}
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 a = 10, b = 20, c;
_asm
{
mov eax, a
mov ebx, b
add eax, ebx
mov c, eax
}
printf("%x", c);
}
Give the output of the following code snippet :
int main()
{
char ch = 'c';
char *chptr = &ch;
printf("%f",*chptr);
}
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);
}
Give the output of the following code snippet :
int main()
{
char *p[1] = {"Hello"};
printf("%s", (p)[0]);
return 0;
}
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);
}
Give the output of the following code snippet :
int main()
{
double *p = (double *)0;
printf("%p ",p);
p=p+1;
printf("%p",p);
}
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 :
union student
{
int rollno;
char *name;
};
int main()
{
union student stud, studt;
stud.name = "Jenn";
studt.rollno = 101;
printf("%d\n", stud.rollno);
}
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 :
int main()
{
char *Pa1;
char c='D';
Pa1=&c;
printf("%c",*Pa1);
}
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);
}
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);
}
Give the output of the following code snippet :
void main()
{
char str[10]="Hello";
char *str2;
str2="World";
strcpy(str,str2);
printf("%s ",str);
}
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);
}
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);
}
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()
{
enum Days {SUN,MON,TUES,WED,THURS,FRI,SAT};
Days day;
printf("%d",sizeof(day));
}
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;
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
int y=100;
int const* z=&y;
y=200;
printf("%d",*z);
}
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 :
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();
}
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);
}
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);
}
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);
}
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);
}
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--;
}
}
Which of the following are valid pointer operations in C?
< NIL>
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);
}
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);
}
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);
}
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;
}
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);
}
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);
}
Give the output of the following code snippet :
void main()
{
int arry[10]= {1,2,3,4};
printf("%d",*arry+5);
}
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));
}
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;
}
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);
}
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);
}
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 :
#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);
}
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);
}
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 :
int main()
{
int a = 10;
int b = 10;
if (a == (a&b))
printf("True ");
else
printf("False");
}
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);
}
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);
}
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);
}
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);
}
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();
}
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();
}
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);
}
Give the output of the following code snippet :
void main()
{
int a[][] = {{1, 2, 3}, {2, 3, 4, 5}};
printf("%d\n", sizeof(a));
}
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;
}
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++);
}
Give the output of the following code snippet :
int main()
{
int ary[4] = {1, 2, 3, 4};
int *p = ary;
printf("%d\n", *p);
}
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);
}
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);
}
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()
{
float *Pa1,*Pa2,*Pa3;
float a1=10.25,b1=12.5;
Pa1=&a1;
Pa2=&b1;
*Pa3=*Pa1**Pa2;
printf("%f",*Pa3);
}
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);
}
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);
}
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));
}
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);
}
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 );
}
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);
}
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]);
}
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);
}
Give the output of the following code snippet :
int main ()
{
char *ptr="Hello";
printf("%s",++ptr);
}
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);
}
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);
}
Give the output of the following code snippet :
void main()
{
int x = 1, z = 3;
int y = x < < 4;
printf(" %d\n", y + 5);
}
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 :
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;
}
}
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));
}
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();
}
Give the output of the following code snippet :
void f(char* i)
{
printf("%s\n", i);
}
void (*fptr)(char*) = f;
void main()
{
fptr("HelloWorld");
}
Give the output of the following code snippet :
int main()
{
typedef int iptr;
static iptr *ptr;
int x=100;
ptr=&x;
printf("%d",*ptr);
}
Give the output of the following code snippet :
int main()
{
int arry[5]= {20};
arry[5]=10;
arry[6]=++(*arry);
printf("%d",0[arry]);
}
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);
}
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;
}
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);
}
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);
}
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());
}
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);
}
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;
}
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
int *p = (int *)2;
printf("%d ", !p);
}
Give the output of the following code snippet :
struct stud
{
int age;
char *name;
}*stud[10];
void main()
{
printf("%d",sizeof(stud[10]));
}
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);
}
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]));
}
We can assign address of any data type to the void pointer.State true or false :
< 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 */
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 );
}
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;
}
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);
}
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();
}
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);
}
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);
}
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]);
}
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 );
}
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();
}
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));
}
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;
}
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));
}
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 :
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));
}
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));
}
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();
}
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);
}
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]);
}
}
}
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()
{
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 );
}
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);
}
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;
}
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");
}
Give the output of the following code snippet :
int main()
{
int *p = (int *)10;
int *q = (int *)6;
printf("%d", p / q);
}
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;
}
}
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;
}
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);
}
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);
}
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);
}
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);
}
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;
}
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);
}
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 :
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));
}
Give the output of the following code snippet :
void main()
{
char *s= "Hello";
char *p = s;
printf("%c %c", *(p + 3), s[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 "Test2.h"
void main ()
{
func1();
func();
}
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);
}
Give the output of the following code snippet :
int main()
{
void *vp;
int j=65;
vp=&j;
printf("%c", *(int*)vp);
}
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 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 :
void main()
{
char *s = "SourceLens";
char *p = s;
printf("%c %c", *p, s[1]);
}
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 :
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);
}
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);
}
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++;
}
}
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 );
}
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]);
}
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 :
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 :
struct Test
{
static int x: 2;
int y[10]:2;
} t;
void main()
{
t.x=10;
t.y=20;
printf("%d",t.y);
}
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);
}
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);
}
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);
}
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);
}
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]++));
}
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);
}
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();
}
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);
}
Give the output of the following code snippet :
void main()
{
typedef char *fptr;
fptr='A';
printf("%c",fptr);
}
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();
}
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);
}
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();
}
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);
}
Give the output of the following code snippet :
int main()
{
int ary[4] = {1, 2, 3, 4};
printf("%d\n", *ary);
}
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]);
}
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);
}
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 :
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);
}
Give the output of the following code snippet :
int main()
{
int i=10,*p;
p=&i;
*p=*p+10;
printf("%d",*p);
}
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;
}
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;
}
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;
}
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 );
}
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;
}
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);
}
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);
}
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);
}
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));
}
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();
}
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));
}
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);
}
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);
}
Give the output of the following code snippet :
int main()
{
int *ptr, a = 25;
ptr = &a;
*ptr += 1;
printf("%d %d", *ptr, a);
}
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);
}
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]));
}
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);
}
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();
}
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;
}
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);
}