Correct Answer: #include "memh" #include "alloch" main() { int area; char *dest; char src[] = "Life is the camera and you are the target" "so keep smiling always"; area = sizeof (src); dest = malloc (area); memmove (dest, src, area); printf("\n%s", dest); printf("\n%s",src); }
2. What would be the output of the following program? main() { char huge * near * far *ptr1; char near * far * huge *ptr2; char far * huge * near *ptr3; printf ("%d%d%d", sizeof (ptr1), sizeof (ptr2), sizeof (ptr3)); }
Correct Answer: While extracting a float argument using va_arg we should have useed c = va_arg (ptr, double)
4. Point out the error, if any, in the following program. #include "stdio.h" main() { unsigned char; FILE *fp; fp = fopen ("trail", "r"); while (( ch = getc (fp)) ! = EOF) printf ("%c", ch); fclose (fp); }
Correct Answer: EOF has been defined as #define EOF -1 n the file "stdioh" and an unsigned char ranges from 0 to 255 hence when EOF is read from the file it cannot be accommodated in ch Solution is to declare ch as an int
5. How would you find the length of each string in the following Program? main() { char *str[] = { "Frogs", "Do", "Not" , "Die" , "They" , "Croak!"}; printf ("%d%d", sizeof (str), sizeof (str[0])); }
Correct Answer: main() { char *str[] = { "Frogs", "Do", "Not", "Die" , "They", "Croak!" }; int i; for ( i = 0;i<=5;i++) printf ("\n%s%d", str[i], strlen( str[i])); }
6. What will output when you compile and run the following code? #include struct student { int roll; int cgpa; int sgpa[8]; }; void main() { struct student s = { 12,8,7,2,5,9 }; int *ptr; ptr = (int *)&s; clrscr(); printf( "%d", *(ptr+3) ); getch(); }
Correct Answer: #include int main(){ int num,r,sum=0,temp; printf("Enter a number: "); scanf("%d",&num); temp=num; while(num){ r=num%10; num=num/10; sum=sum*10+r; } if(temp==sum) printf("%d is a palindrome",temp); else printf("%d is not a palindrome",temp); return 0; } Sample output: Enter a number: 131 131 is a palindrome
8. Write a c program to find out sum of diagonal element of a matrix.
Correct Answer: #include int main(){ int a[10][10],i,j,sum=0,m,n; printf("\nEnter the row and column of matrix: "); scanf("%d %d",&m,&n); printf("\nEnter the elements of matrix: "); for(i=0;i
9. The output of the code below is #include void main() { int i = 0, k; if ( i == 0 ) goto label; for ( k = 0;k < 3; k++ ) { printf( "hin" ); label: k = printf( "%03d", i ); } }