📌  相关文章
📜  教资会网络 | UGC NET CS 2017 年 1 月至 2 日 |问题 21(1)

📅  最后修改于: 2023-12-03 15:26:04.211000             🧑  作者: Mango

UGC NET CS 2017 年 1 月至 2 日

问题 21
题目描述:

若有一字符串str = 'CSEstack', 则执行以下程序段

int i,j;
char temp;
for(i=0, j=strlen(str)-1; i<j; i++,j--)
{
    temp = str[i];
    str[i] = str[j];
    str[j] = temp;
}

之后,str的值为______。

(A)CSEstkcatS (B)catSstackCSE (C)ketascSSEC (D)kcatsESC

答案解析:

此程序段的作用是将字符串 str 倒序。程序中的 strlen(str) 会返回字符串 str 的长度。strlen(str)-1 即为字符串最后一个字符所在的下标。

程序使用两个变量 ij 分别记录字符串 str 的第一个字符和最后一个字符,通过 ij 的递增与递减,依次交换字符串 str 中的字符,从而实现字符串反转。在交换字符的过程中,中间变量 temp 被用于暂时存储待交换的字符。

因此,执行完该程序段后,字符串 str 的值为 kcatsESC。因此,答案为选项 (D)。

返回Markdown代码片段

# UGC NET CS 2017 年 1 月至 2 日

## 问题 21

### 题目描述:

若有一字符串`str` = 'CSEstack', 则执行以下程序段

int i,j; char temp; for(i=0, j=strlen(str)-1; i<j; i++,j--) { temp = str[i]; str[i] = str[j]; str[j] = temp; }


之后,`str`的值为______。

(A)`CSEstkcatS`
(B)`catSstackCSE`
(C)`ketascSSEC`
(D)`kcatsESC`

### 答案解析:

此程序段的作用是将字符串 `str` 倒序。程序中的 `strlen(str)` 会返回字符串 `str` 的长度。`strlen(str)-1` 即为字符串最后一个字符所在的下标。

程序使用两个变量 `i` 和 `j` 分别记录字符串 `str` 的第一个字符和最后一个字符,通过 `i` 和 `j` 的递增与递减,依次交换字符串 `str` 中的字符,从而实现字符串反转。在交换字符的过程中,中间变量 `temp` 被用于暂时存储待交换的字符。

因此,执行完该程序段后,字符串 `str` 的值为 `kcatsESC`。因此,答案为选项 (D)。