Vidyalelo
C Programming · Q35

Arrays and Strings

Programming · C Programming · question 35

Q35

Let x be an array. Which of the following operations are illegal? I. ++x II. x+1 III. x++ IV. x*2

A.
I and II
B.
I, II and III
C.
II and III
D.
I, III and IV
Answer
E.
III and IV

Answer: Option D

Solution

Answer: Option D
Solution:
int x[10]; * x will store the base address of array. *
Statement I, III and IV is invalid.

Statement I and III : ++x and x++ are throwing en error while compile (lvalue required as increment operand )
Since, x is storing in the address of the array which is static value which cannot be change by the operand.

Statement IV : x*2 is also throw an error while compile (invalid operands to binary * (have 'int *' and 'int') )

Statement II : x+1 is throw a warning: assignment makes integer from pointer without a cast [enabled by default]