Consider this C code to swap two integers and these five statements after it:…

GATE · 2006 · CS

Consider this C code to swap two integers and these five statements after it:

void swap(int *px, int *py) 
{ 
   *px = *px - *py; 
   *py = *px + *py; 
   *px = *py - *px; 
}

S1: will generate a compilation error S2: may generate a segmentation fault at runtime depending on the arguments passed S3: correctly implements the swap procedure for all input pointers referring to integers stored in memory locations accessible to the process S4: implements the swap procedure correctly for some but not all valid input pointers S5: may add or subtract integers and pointers.

  1. A.

    S1

  2. B.

    S2 and S3

  3. C.

    S2 and S4

  4. D.

    S2 and S5

Attempted by 219 students.

Show answer

Correct answer: C

The worked solution is available to enrolled students.

Explore the full course: Iocl Engineers Officers Grade A Paper 2

Loading lesson…