📌  相关文章
📜  教资会网络 | UGC NET CS 2018 年 12 月 – II |问题 41

📅  最后修改于: 2022-05-13 01:57:55.497000             🧑  作者: Mango

教资会网络 | 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)是正确的。
这个问题的测验