教资会网络 | UGC NET CS 2018 年 12 月 – II |问题 41
考虑下面给出的 C/C++函数f():
void f(char w [ ] )
{
int x = strlen(w); //length of a string
char c;
For (int i = 0; i < x; i++)
{
c = w[i];
w[i] = w[x - i - 1];
w[x - i - 1] = c;
}
}
以下哪项是 f() 的目的?
(A)它输出数组的内容,其中字符重新排列,因此它们不再被识别为原始短语中的单词。
(B)它输出数组的内容,其中字符移动了一个位置。
(C)它以原始顺序输出数组的内容。
(D)它以相反的顺序输出数组的内容。答案: (C)
解释:给定代码,
c = w[i];
w[i] = w[x - i - 1];
w[x - i - 1] = c;
它交换位于第 i 个和第 (xi-1) 个的元素,因此反转输入顺序。
从中间点到结束,再次应用相同的代码并反转(输入顺序的尊重)。
因此,输入的原始顺序保留在最后。
选项(C)是正确的。
这个问题的测验