© 2014 Firstsoft Technologies (P) Limited. login
Hi 'Guest'
Home SiteMap Contact Us Disclaimer
enggedu

C and C++ Interview Questions

Ex 17: What is the output?

  .    main()
      {
      char *cptr,c;
      void *vptr,v;
      c=10;  v=0;
      cptr=&c; vptr=&v;
      printf("%c%v",c,v);
      }
Ans:
Compiler error (at line number 4): size of v is Unknown.
Explanation:

You can create a variable of type void * but not of type void, since void is an empty type. In the second line you are creating variable vptr of type void * and v of type void hence an error.

18. What is the output?

main()
 {
      char *str1="abcd";
      char str2[]="abcd";
      printf("%d %d %d",sizeof(str1),sizeof(str2),sizeof("abcd"));
      }
Ans:
2 5 5
Explanation:

In first sizeof, str1 is a character pointer so it gives you the size of the pointer variable. In second sizeof the name str2 indicates the name of the array whose size is 5 (including the '\0' termination character). The third sizeof is similar to the second one.

19. What is the output?

main()
      {
          int *j;
          {
           int i=10;
           j=&i;
           }
           printf("%d",*j);
}
Ans:
10
Explanation:

The variable i is a block level variable and the visibility is inside that block only. But the lifetime of i is lifetime of the function so it lives upto the exit of main function. Since the i is still allocated space, *j prints the value stored in i since j points i.


1 >> 2 >> 3 >> 4 >> 5 >> 6 >> 7 >> 8 >> 9
SLogix Student Projects
bottom