📜  门|门CS 2013 |第 50 题

📅  最后修改于: 2021-09-26 03:35:00             🧑  作者: Mango

下面给出的过程是必需的,以查找和替换某些字符在阵列A供给到被替换阵列oldc被提供的字符的输入内,而它们各自的替换字符以阵列NEWC供给。数组 A 的固定长度为 5 个字符,而数组 oldc 和 newc 各包含三个字符。然而,程序有缺陷

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];
}

该程序使用以下四个测试用例进行测试
(1) oldc = “abc”, newc = “dab”
(2) oldc = “cde”, newc = “bcd”
(3) oldc = “bca”, newc = “cda”
(4) oldc = “abc”, newc = “bac”
测试器现在在所有长度为 5 的输入字符串上测试程序,这些字符串由字符’a’、’b’、’c’、’d’ 和 ‘e’ 组成,并且允许重复。如果测试人员用上面给出的四个测试用例进行这个测试,有多少测试用例能够捕捉到缺陷?

(一)只有一个
(B)只有两个
(C)只有三个
(D)所有四个答案:(乙)
说明:见 https://www.geeksforgeeks.org/algorithms-misc-question-10/
这个问题的测验