Samsung Electronics Interview Question

Written: 1. #include<stdio.h> int main() { struct bitfield { unsigned a:5; unsigned c:5; unsigned b:6; }bit={1,3,3}; printf("%x\n",bit); char*p=(char*)&bit; p++; printf("%d",*p); return 0; } Ans:12 2. void main() { int array[2][3]={5,10,15,20,25,30}; int (*ptr)[2][3]=&array; printf("%d ",***ptr); printf("%d ",*(*ptr)[1]); printf("%d ",(*ptr)[1][2]); } Ans: 5 20 30 3. void main() { int i=1; i = 2+2*i++; printf("%d",i); } Ans:5 4. #define SHIFT(a,b) f=a+b;a=b;b=f; void main() { int i=0,j=1,r=11,k,f; for(k=2;k<r;k++){ SHIFT(i,j) } printf("%d",f); } Ans:55 5. int xyz=10; void main() { int xyz=20; printf("%d",xyz); } Ans:20 6. int num(int n) { int z; if (n==1) return n; int half =n/2; int k=2*num(n/2)+half*half; z =(n%2)? k+n: k; return z; } void main() { printf("Main:%d",num(11)); } Ans: Main:66 7. void main() { Int a=1; If(a=0) Printf(“same”); Else Printf(“different”); } Ans: different 8. #include<stdio.h> int number(int x,int y) { int z; if(y==1) return x; int n=number(x,y/2); z=(y%2)? (n*n*x):(n*n); return z; } void main() { printf("%d",number(3,7)); } Ans:2187 9. void main() { char data[2][3][2]={0,1,2,3,4,5,6,7,8,9,10,11}; printf("%o",*data[1][2]); } Ans:10 10. unsigned long int (*avg())[3] { static unsigned long int arr[3]={1,2,3}; return &arr; } void main() { unsigned long int (*ptr)[3]; ptr=avg(); printf("%d",*(*ptr+2)); } ANS: 3 11. #include<stdio.h> void main() { char a =-5; unsigned int b=-5; if(a==b) printf("same"); else printf("different"); } Ans:same 12. void main() { char str[10]="hello"; char *ptr1,*ptr2,ch; for(ptr1=str+1;*ptr1;ptr1++) { for(ptr2=str;ptr2!=ptr1;ptr2++) if(*ptr1 > *ptr2) { ch=*ptr2;*ptr2=*ptr1;*ptr1=ch; } } printf("%s",str); } ANS:ollhe 13. #define x 5+2 void main() { int i; i =x*x*x; printf("%d",i); } ANS:27 14. void main(){ char str[10] = "aPPle",*ptr; for(ptr=str;*ptr;ptr++){ if(*ptr > 'a') *ptr -='z'-'Z' } printf("%s",str); } ANS:aPPLE 15. void main() { int a=280; char *ptr = (char*)&a; printf("%d",*ptr); } ANS:24 16. void main() { int num,i,count; for(num=21;num<30;num++) { count =0; for(i=2;i<=num/2;i++) { if(num%i == 0) {count++; break;} } if(count==0 && num!=1) printf("%d",num); } } ANS:23 29 17. void main() { int check=1; switch(check) { case 1:printf("1"); case 2:printf("2"); case 3:printf("3"); default:printf("0"); } } ANS:1230 18. #include<stdio.h> int r() { int static num =10; return num--; } void main() { for(r();r();r()) { printf("%d",r()); } } ANS:852 19. #include<stdio.h> void main() { char buf[]="abc\0def"; char *str=buf; printf("%s%c",buf+1,buf[1]); printf("%s%c",str+1,str[1]); printf("%d%d",sizeof(buf),sizeof(str)); } ANS:bcbbcb84 20. #include<stdio.h> void main() { int a[10] = {5,3,8,2,1,8,5,3,4,2}; int first=0,second=0,i; for(i=0;i<10;i++) if(first<a[i]) first=a[i]; for(i=0;i<10;i++) if(second < a[i] && a[i]<first) second=a[i]; printf("%d",second); } ANS:5