(Paper) Dharma Placement Paper-2006 (Technical)
Paper: Dharma Placement Paper-2006 (Technical)
Give the output of the programs in each case unless mentioned otherwise :
1. void main()
{
int d=5;
printf("%f",d);
}
Ans: Undefined
2. void main()
{
int i;
for(i=1;i<4,i++)
switch(i)
case 1: printf("%d",i);break;
{
case 2:printf("%d",i);break;
case 3:printf("%d",i);break;
}
switch(i) case 4:printf("%d",i);
}
Ans: 1,2,3,4
3. void main()
{
char *s="\12345s\n";
printf("%d",sizeof(s));
}
Ans: 6
4. void main()
{
unsigned i=1; /* unsigned char k= -1 =>
k=255; */
signed j=-1; /* char k= -1 => k=65535
*/
/* unsigned or signed int k= -1
=>k=65535 */
if(i
printf("less");
else
if(i>j)
printf("greater");
else
if(i==j)
printf("equal");
}
Ans: less
5. void main()
{
float j;
j=1000*1000;
printf("%f",j);
}
1. 1000000
2. Overflow
3. Error
4. None
Ans: 4
6. How do you declare an array of N
pointers to functions returning pointers
to functions returning pointers to characters?
Ans: The first part of this question can
be answered in at least three ways:
1. char *(*(*a[N])())();
2. Build the declaration up incrementally,
using typedefs:
typedef char *pc; /* pointer to char */
typedef pc fpc(); /* function returning
pointer to char */
typedef fpc *pfpc; /* pointer to above */
typedef pfpc fpfpc(); /* function
returning... */
typedef fpfpc *pfpfpc; /* pointer to... */
pfpfpc a[N]; /* array of... */
3. Use the cdecl program, which turns
English into C and vice
versa:
8. In the above question an array
of pointers is declared. Write the
statement to initialize the 3rd element of the 2 element to 10;
9. int f()
void main()
{
f(1);
f(1,2);
f(1,2,3);
}
f(int i,int j,int k)
{
printf("%d %d %d",i,j,k);
}
What are the number of syntax errors in
the above?
Ans: None.
10. void main()
{
int i=7;
printf("%d",i++*i++);
}
Ans: 56
11. #define one 0
#ifdef one
printf("one is defined ");
#ifndef one
printf("one is not defined ");
Ans: "one is defined"
12. void main()
{
int count=10,*temp,sum=0;
temp=&count;
*temp=20;
temp=∑
*temp=count;
printf("%d %d %d ",count,*temp,sum);
}
Ans: 20 20 20
13. There was question in c working
only on Unix machine with pattern matching.
14. what is alloca()
Ans : It allocates and frees memory after
use/after getting out of scope
15. main()
{
static i=3;
printf("%d",i--);
return i>0 ? main():0;
}
Ans: 321
16. char *foo()
{
char result[100]);
strcpy(result,"anything is
good");
return(result);
}
void main()
{
char *j;
j=foo()
printf("%s",j);
}
Ans: anything is good.
17. void main()
{
char *s[]={ "dharma","hewlett-packard","siemens","ibm"};
char **p;
p=s;
printf("%s",++*p);
printf("%s",*p++);
printf("%s",++*p);
}
Ans: "harma" (p->add(dharma)
&& (*p)->harma)
"harma" (after printing, p->add(hewlett-packard)
&&(*p)->harma)

Daily JOBS





