Sample Questions Best site for GRE, LSAT, SAT, GMAT, TOEFL, CCNA, CCSA and interview sample questions  

Technical Sample Questions : C |  C++ |  Oracle |  Java | Unix |  Operating Systems |  Data Structure

Sample Technical Questions

C Sample Question

  1. 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));
    }

    Answer:

    sizeof(p) = 2, sizeof(*p) = 1, strlen(p) = 4
    sizeof(a) = 5, strlen(a) = 4

    Explanation:

    sizeof(p) => sizeof(char*) => 2
    sizeof(*p) => sizeof(char) => 1
    Similarly,
    sizeof(a) => size of the character array => 5
    When sizeof operator is applied to an array it returns the sizeof the array and it is not the same as the sizeof the pointer variable. Here the sizeof(a) where a is the character array and the size of the array is 5 because the space necessary for the terminating NULL character should also be taken into account.
  2. #define DIM( array, type) sizeof(array)/sizeof(type)
    main()
    {
    int arr[10];
    printf("The dimension of the array is %d", DIM(arr, int));    
    }

    Answer:

    10

    Explanation:

    The size of integer array of 10 elements is 10 * sizeof(int). The macro expands to sizeof(arr)/sizeof(int) => 10 * sizeof(int) / sizeof(int) => 10.
  3. int DIM(int array[]) 
    {
    return sizeof(array)/sizeof(int );
    }
    main()
    {
    int arr[10];
    printf("The dimension of the array is %d", DIM(arr));    
    }

    Answer:

    1

    Explanation:

    Arrays cannot be passed to functions as arguments and only the pointers can be passed. So the argument is equivalent to int * array (this is one of the very few places where [] and * usage are equivalent). The return statement becomes, sizeof(int *)/ sizeof(int) that happens to be equal in this case.
  4. 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));
    		}
    }

    Answer:

    			1       1       1       1
    			2       4       2       4
    			3       7       3       7
    			4       2       4       2
    			5       5       5       5
    			6       8       6       8
    			7       3       7       3
    			8       6       8       6
    			9       9       9       9

    Explanation:

    *(*(p+i)+j) is equivalent to p[i][j].
  5. 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; 
    }

    Answer:

    x=10 y=8

    Explanation:

    Using ^ like this is a way to swap two variables without using a temporary variable and that too in a single statement.
    Inside main(), void swap(); means that swap is a function that may take any number of arguments (not no arguments) and returns nothing. So this doesn't issue a compiler error by the call swap(&x,&y); that has two arguments.
    This convention is historically due to pre-ANSI style (referred to as Kernighan and Ritchie style) style of function declaration. In that style, the swap function will be defined as follows, void swap()

    int *a, int *b
    {
       *a ^= *b,  *b ^= *a, *a ^= *b; 
    }
    where the arguments follow the (). So naturally the declaration for swap will look like, void swap() which means the swap can take any number of arguments.

« Previous || Next »

C Sample Question Number : 1-3 | 4-7 | 8-11 | 12-16 | 17-21 | 22-25 | 26-30 | 31-35 | 36-40 | 41-45 | 46-48 | 49-52 | 53-59 | 60-64 | 65-69 | 70-74 | 75-79 | 80-83 | 84-87 | 88-91 | 92-95 | 96-100 | 101-105 | 106-110 | 111-115 | 116-120 | 121-125 | 126-130 | 131-135 | 136-140 | 141-145 | 146-150

Sample Test Questions
GRE Sample Questions
CAT Sample Questions
GMAT Sample Questions
TOEFL Sample Questions
ACT Sample Questions
SAT Sample Questions
LSAT Sample Questions
PSAT Sample Questions
MCAT Sample Questions
PMP Sample Questions
GED Sample Questions
ECDL Sample Questions
DMV Sample Questions
CCNA Sample Questions
MCSE Sample Questions
Network+ Sample Questions
A+ Sample Questions
Technical Sample Questions
WASL Sample Questions
CISA Sample Questions

Other Sample Questions
Sample Interview Questions
Sample Teacher Interview Questions
Sample Citizenship Questions
Accuplacer Sample Questions
Science Bowl sample Questions
Driving Test Sample Questions
Sample Survey Questions Sample Essay Questions
Sample Behavioral Interview Questions

Copyright © 2004-2013, Best BSQ. All Rights Reserved.