Gate CS-2013 Question Paper With Solutions

Q. 50 The procedure given below is required to find and replace certain characters inside an input character string supplied in array A. The characters to be replaced are supplied in
array oldc, while their respective replacement characters are supplied in array newc.
Array A has a fixed length of five characters, while arrays oldc and newc contain three
characters each. However, the procedure is flawed.

void find_and_replace(char *A, char *oldc, char *newc) {
    for (int i = 0; i < 5; i++)
       for (int j = 0; j < 3; j++)
           if (A[i] == oldc[j]) A[i] = newc[j];
}

The procedure is tested with the following four test case.
(1) oldc = “abc”, newc = “dab”
(2) oldc = “cde”, newc = “bcd”
(3) oldc = “bca”, newc = “cda”
(4) oldc = “abc”, newc = “bac”

The tester now tests the program on all input strings of length five consisting
of characters ‘a’, ‘b’, ‘c’ and ‘e’ with duplicates allowed. If the tester
carries out this testing with the four test cases given above, how many test case
will be able to capture the flaw?

Learn More:   Gate EC-2019 Question Paper With Solutions

(A) Only one

(B) Only two

(C) Only three

(D) All four

Answer: (B)

Explanation:

Gate CS-2013 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here