Question: / Increment each integer in the array ' p ' of size ' n ' . / void increment _ ints ( int p [

/ Increment each integer in the array 'p' of size 'n'./ void increment_ints (int p [/*n/], int n)
{
assert(p!= NULL); /* Ensure that 'p' isn't a null pointer. */
assert (n >=0); / Ensure that 'n' is nonnegative. */
while (n)/ Loop over 'n' elements of 'p'.*/
{
*p++;
/ Increment *p.*/
p++, n--;
/* Increment p, decrement n.*/
}
}
Consider the function increment_ints(), defined above. Despite its significant inline commentary, it contains an error. Which one of the following correctly assesses it?
Pick ONE option
*p++ causes p to be incremented before the dereference is performed, because both operators have equal precedence and are right associative.
An array is a nonmodifiable lvalue, so p cannot be incremented directly. A navigation pointer should be used in conjunction with p.
*p++ causes p to be incremented before the dereference is performed, because the autoincrement operator has higher precedence than the indirection operator.
The condition of a while loop must be a Boolean expression. The condition should be n !=0.
An array cannot be initialized to a variable size. The subscript n should be removed from the definition of the parameter p.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!