Assume the following C variable declaration
int *A [10], B[10][10];
Of the following expressions
I A[2]
II A[2][3]
III B[1]
IV B[2][3]
which will not give compile-time errors if used as left hand sides of assignment statements in a C program
a) I, II, and IV only
b) II, III, and IV only
c) II and IV only
d) IV only
I A[2]
II A[2][3]
III B[1]
IV B[2][3]
which will not give compile-time errors if used as left hand sides of assignment statements in a C program
a) I, II, and IV only
b) II, III, and IV only
c) II and IV only
d) IV only
Answer (a)
See below program
See below program
int main(){ int *A[10], B[10][10]; int C[] = {12, 11, 13, 14}; /* No problem with below statement as A[2] is a pointer and we are assigning a value to pointer */ A[2] = C; /* No problem with below statement also as array style indexing can be done with pointers*/ A[2][3] = 15; /* Simple assignment to an element of a 2D array*/ B[2][3] = 15; printf("%d %d", A[2][0], A[2][3]); getchar();} |
No comments:
Post a Comment