Company: HCL Technologies

1)struct dlink{
int nodeid;
struct dlink *next;
struct dline *prev;
} dlink_t;
A pointer to the head of tha linked list is
maintained
as a global variable whose definition is
dlink_t *head;
The function remove_element(dlink_t*rp), needs to
remove the node pointed to by rp and adjust the head
The first node’s prev and the last node’s text are
NULL
remove_element (dlink_t *rp)
{
rp->prev->next =rp->next;
rp->next->prev =rp->prev;
if(head ==rp)
head =rp->next;
}
which of the following statement is true about the
function remove_element
a)it works when head is the same as rp;
b)it does not work whe rp is the last element on the
list
c)it sets the head of the list correctly
d)it works in all cases
ans:( b)

2.#define NULL 0
char *
index (sp,c)
register char *sp,c;
{
do {
if(*sp==c)
return(sp);
}while (*sp++);
return (NULL);
}
The first argument sp,is a pointer to a C string.
The
second argument c is a character. This function
searches for the character c in the string . If it
is
found
a pointer to that location is returned ,else NULL is
returned
This function works
a)Always
b)always but fails when the first byte contains the
character c
c)works when c is a non NULL character array
d)works only when the character c is found in the
string

3.main()
{
printf(“%dn”,f(7));
}
f(x)
{
if(x<=4) return x; return f(--x); } a)4 b)5 c)6 d)7 4.on a machine where pointers are 4 bytes long,what happens when the following code is executed main() { int x=0 ,*p=0; x++;p++; printf("%d and %dn",p); } a) 1 and 1 is printed b) 1 and 4 c) 4 and 4 d) causes an exception 5.which is correct? a)strcpy(char *dst,char *src) { while (*src) *dst++=*src++; } b) strcpy(char *dst,char *src) { while (*dst++=*src++); } c) strcpy(char *dst,char *src) { while (*src){ *dst=*src; dst++;src++; } } d) strcpy(char *dst,char *src) { while (*++dst=*++src); } 6. main() { int i=20,*j=&i; f1(j); *j+=10; f2(j); printf("%d and %d ',i,*j); } f1(k) int *k; { *k+=15;} f2(x) int *x; { int m=*x, *n=&m; *n+=10; } The values printed by the program will be a)20 and 55 b)20 and 45 c)45 and 45 d)55 and 55 e)35 and 35 ans : ( c ) 7.int func(int x) { if(x<=0) return (1); return func(x-1)+x; } main() { printf("%d",func(5)); } a)12 b)16 c)15 d)11 8.consider the following fragments of c code in two files which will be linked together and executed a.c int i; main() { i=30; f1(); printf("%d",i); } b.c static int f1() { i+=10; } which of the following is true? a)a.c will fail in compilation phase because f1() is not declared b)b.c will fail in compilation because the variable i is not declared c)will print 30 d)will print 40 d)a & b 9. void funca(int *k) { *k+=20; } void funcb(int *k) { int m=*x,*n=&m; *n+=10; } main() { int var=25,; *varp=&var; funca(varp) *varp+=10; funcb(varp); printf("%d%d,var,*varp); } (a) 20,55(b) 35,35(c) 25,25(d)55,55 ans : (d ) 10. #include
class x{
public :
int a;
x();
};
x::x() { a=10;cout<< a ;} class b:public x { public : b(); x(); }; b::b() { a=20;cout<