Sonata Previous Years Solved Sample Placement Papers
-
What is the difference between the following declarations?
const char *s;
char const *s;
Ans. No difference
-
What would be the output of the following program?
main() { char near * near *ptr1; char near * far *ptr2; char near * huge *ptr3; printf("%d %d %d", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3)); }
A. 1 1 1
B. 1 2 4
C. 2 4 4
D. 4 4 4 Answer: Option D
-
If the following program (myprog) is run from the command line as myprog friday tuesday sunday, what would be the output?
main(int argc, char* argv[]) { printf("%c", **++argv); }
A. m
B. f Answer: Option B
C. myprog
D. friday
-
If the following program (myprog) is run from the command line as myprog friday tuesday sunday, what would be the output?
main(int argc, char* argv[]) { printf("%c", *++argv[1]); }
A. r Answer: Option A
B. f
C. m
D. y
-
If the following program (myprog) is run from the command line as myprog friday tuesday sunday, what would be the output?
main(int argc, char* argv[]) { while (sizeofargv) printf("%s", argv[--sizeofargv]); }
A. myprog friday tuesday sunday
B. myprog friday tuesday
C. sunday tuesday friday myprog Answer: Option C
D. sunday tuesday friday
-
Point out the error in the following program:
main() { int a = 10; void f(); a = f(); printf("\n%d", a); } void f() { printf("\nHi"); }
Ans. The program is trying to collect the value of a void function into an integer variable.
-
In the following program, how would you print 50 using p?
main() { int a[] = {10, 20, 30, 40, 50}; char *p; p = (char*) a; }
Ans. printf("\n%d", *((int*)p + 4));