C Technical Questions
1. main()
{
static int var = 5;
printf("%d ",var--);
if(var)
main();
}
Ans : 5 4 3 2 1
2. main()
{
int i=-1,j=-1,k=0,l=2,m;
m=i++&&j++&&k++||l++;
printf("%d %d %d %d %d",i,j,k,l,m);
}
Ans: 0 0 1 3 1
3. #include<stdio.h>
main()
{
char
s[]={'a','b','c','\n','c','\0'};
char *p,*str,*str1;
p=&s[3];
str=p;
str1=s;
printf("%d",++*p
+ ++*str1-32);//asc of ‘\n’==10 so 11+98-32==77//
}
Ans: 77
4. main()
{
int i=5;
printf("%d%d%d%d%d",i++,i--,++i,--i,i);
}
Ans
: 4,5,5,4,5
5.
main()
{
char
*p="hai friends",*p1;
p1=p;
while(*p!='\0')
++*p++;//whever
there is a pointer we consider r to l so 1st post
increment
printf("%s
%s",p,p1);
}
Ans:
ibj!gsjfoet
6. main()
{
static char
names[5][20]={"pascal","ada","cobol","fortran","perl"};
int
i;
char
*t;
t=names[3];
names[3]=names[4];
names[4]=t;
for (i=0;i<=4;i++)
printf("%s",names[i]);
}
Ans: Error
7. void main()
{
int i=5;
printf("%d",i++ + ++i);
}
Ans: 12
8.
void main()
{
int i=5;
printf("%d",i++
+++i);
}
Ans : Lvalue required error
9. #include<stdio.h>
main()
{
char s[]={'a','b','c','\n','c','\0'};
char *p,*str,*str1;
p=&s[3];
str=p;
str1=s;
printf("%d",++*p +
++*str1-32);
}
Ans : 77
10. #include<stdio.h>
main()
{
const int i=4;
float j;
j = ++i;
printf("%d %f",
i,++j);
}
Ans: error
11. main()
{
int i=5,j=6,z;
printf("%d",i+ + +j);
}
Ans: 11
12. main()
{
int i=_l_abc(10);
printf("%d\n",--i);
}
int _l_abc(int i)
{
return(i++);
}
Ans : 9.
13. main()
{
int i =0;j=0;
if(i && j++)
printf("%d..%d",i++,j);
printf("%d..%d,i,j);
}
Ans: 0 0
*14. main()
{
char *p;
p="%d\n";
p++;
p++;
printf(p-2,300);
}
//printf(name of string
)==will print string..
Ans: 300
15. void main()
{
static int i=5;
if(--i){
main();
printf("%d ",i);
}
}
Ans: 0 0 0 0
16. void main()
{
int k=ret(sizeof(float));
printf("\n here value is %d",++k);
}
int ret(int ret)
{
ret += 2.5;
return(ret);
}
Ans: 7.
17. void main()
{
char a[]="12345\0";
int i=strlen(a);
printf("%d\n",++i);
}
Ans: 6
*18. void main()
{
unsigned giveit=-1;
int gotit;
printf("%u ",++giveit);
printf("%u \n",gotit=--giveit);
}
Ans: 0 65535
19. void main()
{
int i=i++,j=j++,k=k++;
printf(“%d%d%d”,i,j,k);
}
Ans: garbage
20. void main()
{
static int i=i++, j=j++, k=k++;
printf(“i = %d j = %d k = %d”, i, j, k);
}
Ans: Error
21. main()
{
unsigned int i=10;
while(i-->=0)
printf("%u ",i);
}
Ans: infinite
22. main()
{
unsigned int i=65000;
while(i++!=0);
printf("%d",i);
}
Ans: 1
23. main()
{
int i=0;
while(+(+i--)!=0)
i-=i++;
printf("%d",i);
}
Ans: -1//ya check while
24. main()
{
float f=5,g=10;
enum{i=10,j=20,k=50};
printf("%d\n",++k);//cannot increment.
printf("%f\n",f<<2);//illegal instruction
printf("%lf\n",f%g);//illegal instruction
printf("%lf\n",fmod(f,g)); //Legal instruction
}
Ans: error
25.. main()
{
int i=5;
printf("%d",++i++);
}
Ans: l value required ++(i++) since (i++)will
give an constatnt value and cant perform ++ on a constant value error
26. main()
{
int i=5;
printf(“%d”,i=++i ==6);
}
Ans: 1
27. void main()
{
static int i;
while(i<=10)
(i>2)?i++:i--;
printf(“%d”, i);
}
Ans: 32767//ya
28. main()
{
int i=4,j=7;
j = j || i++ && printf("YOU CAN");
printf("%d %d", i, j);
}
Ans: 4 1
29.
char *someFun1()
{
char temp[ ] = “string";
return temp;
}
char *someFun2()
{
char temp[ ] = {‘s’, ‘t’,’r’,’i’,’n’,’g’};
return temp;
}
int main()
{
puts(someFun1());
puts(someFun2());
}
Ans: garbage
No comments:
Post a Comment