4. What will be output of following c code? void main() { struct india { char c; float d; }; struct world { int a[3]; char b; struct india orissa; }; struct world st ={{1,2,3},'P','q',1.4}; clrscr(); printf("%dt%ct%ct%f",st.a[1],st.b,st.orissa.c,st.orissa.d); getch(); }
Correct Answer: Here we are initalising the function pointer p to the address of the function fun() But during this initialisation the function has not been defined Hence an error To eliminate this error add the prototype of the fun() before declaration of p, as shown below: extern int fun(); or simply int fun();
7. Point out the error, if any, in the while loop. main() { int i = 1; while () { printf ( "%d", i++); if (i >10) break ; } }
Correct Answer: The condition in the while loop is a must
8. Point out the error, if any, in the following program. main() { int i = 4, j = 2; switch(i) { case 1 : printf (''\n To err is human, to forgive is against company policy."); break; case j : printf (''\n if you have nothing to do, don't do it here."); break; } }
Correct Answer: 0 0 1 That's what some of the compilers would give But some other compiler may give a different answer The reason is, when a single expression causes the same object to be modified and then inspected the behaviour is undefined
10. What would be the output of the following program? main() { int i=2 ; printf ("\n%d%d", ++i, ++i ); }