【发布时间】:2018-05-13 17:40:39
【问题描述】:
我正在查看一个反转 chars 数组的函数,我得到了所有内容,但让我感到困惑的是最后一个 for 循环中的最后一条语句,即 line[j] = temp;。我不知道这是为了什么。
void reverse(char line[]) {
char temp;
int i, j;
for (j = 0; line[j] != '\0'; ++j)
;
--j;
if (line[j] == '\n') {
--j;
}
for (i = 0; i < j; ++i, --j) {
temp = line[i];
line[i] = line[j];
//This statement is the one in which I dont understand it's function
line[j] = temp;
}
}
【问题讨论】:
-
最后一行将 line[i] 中的内容(现在在 temp 中)分配回 line[j] 处的新位置。这 3 行交换 line[i] 和 line[j]。
-
你认为这个是做什么的:'temp = line[i];' ?