31 October 2012

C Technical Questions Part 6

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

Followers