C Questions Note : All the programs are tested under Turbo C/C++ compilers. It is assumed that, Programs run under DOS environment, The underlying machine is an x86 system, Program is compiled using Turbo C/C++ compiler.
Predict the output of the code segements below: 1. char *someFun() { char *temp = “string constant"; return temp; } int main() { puts(someFun()); } 2. main() { int a=10,*j; void *k; j=k=&a; j++; k++; printf("\n %u %u ",j,k); } 3. main() { char a[4]="HELL"; printf("%s",a); } 4. main() { char a[4]="HELLO"; printf("%s",a); }
5.
Is this code legal?(if yes then what it does) int *p; p = (int *) 0x400;
6. void main() { int i=10, j=2; int *ip= &i, *jp = &j; int k = *ip/*jp; printf(“%d”,k); } 7. char inStr[100] = {0}; To get string input from the keyboard which one of the following is better?Why? 1) gets(inStr) 2) fgets(inStr, sizeof(inStr), fp) 8. void main() { printf(“sizeof (void *) = %d \n“, sizeof( void *)); printf(“sizeof (int *) = %d \n”, sizeof(int *)); printf(“sizeof (double *) = %d \n”, sizeof(double *)); printf(“sizeof(struct unknown *) = %d \n”, sizeof(struct unknown *)); } 9. Is the following code , legal and If yes then why? struct a { int x; struct a *b; } 10. Is the following code legal? And if no why? struct a { int x; struct a b; } 11. What is the hidden bug with the following statement? assert(val++ != 0);
12. What is wrong with the following code? int *foo() { int *s = malloc(sizeof(int)100); assert(s != NULL); return s; } 13. What is the error in the following code ? void funny(int n, int ar[]) { int *p=0; int i=0; while(i++
char name[30]; struct date dob; }stud; struct date { int day,month,year; }; scanf("%s%d%d%d", stud.rollno, &student.dob.day, &student.dob.month, &student.dob.year); } 17. main() { struct student { char name[30]; struct date dob; }stud; struct date { int day,month,year; }; scanf("%s%d%d%d", stud.rollno, &student.dob.month, &student.dob.year); } 18. #include <stdio.h> main() { char * str = "hello"; char * ptr = str; char least = 127; while (*ptr++) least = (*ptr
&student.dob.day,
20. main() { int i = 258; int *iPtr = &i; printf("%d %d", *((char*)iPtr), *((char*)iPtr+1) ); } 21. main() { int i = 257; int *iPtr = &i; printf("%d %d", *((char*)iPtr), *((char*)iPtr+1) ); } 22. what is the output of the code: main() { void swap(); int x=10,y=8; swap(&x,&y); printf("x=%d y=%d",x,y); } void swap(int *a, int *b) { *a ^= *b, *b ^= *a, *a ^= *b; } 23. main() { static int a[3][3]={1,2,3,4,5,6,7,8,9}; int i,j; static *p[]={a,a+1,a+2}; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d\t%d\t%d\t%d\n",*(*(p+i)+j), *(*(j+p)+i),*(*(i+p)+j),*(*(p+j)+i)); } }
24.What is the output: int DIM(int array[]) { return sizeof(array)/sizeof(int ); } main() { int arr[10]; printf(“The dimension of the array is %d”, DIM(arr)); } 25.
#define DIM( array, type) sizeof(array)/sizeof(type) main() { int arr[10]; printf(“The dimension of the array is %d”, DIM(arr, int)); } 26. main() { char *p="GOOD"; char a[ ]="GOOD"; printf("\n sizeof(p) = %d, sizeof(*p) = %d, strlen(p) = %d", sizeof(p), sizeof(*p), strlen(p)); printf("\n sizeof(a) = %d, strlen(a) = %d", sizeof(a), strlen(a)); } 27. main() { int a=2,*f1,*f2; f1=f2=&a; *f2+=*f2+=a+=2.5; printf("\n%d %d %d",a,*f1,*f2); } 28. main() { extern i; printf("%d\n",i); {
int i=20; printf("%d\n",i); } } 29. main() { float i=1.5; switch(i) { case 1: printf("1"); case 2: printf("2"); default : printf("0"); } } 30. main() { register int a=2; printf("Address of a = %d",&a); printf("Value of a = %d",a); }