C语言反序输出369


在C语言中,有时我们需要将一个字符串或数组中的元素按相反的顺序输出。反序输出字符串或数组可以用于各种场景,例如逆序打印一个单词或将数组中的元素从最后往前输出。

反序输出字符串

要反序输出一个字符串,我们可以使用指针遍历字符串,并逐个字符地将字符复制到一个新的字符串中。代码示例如下:```c
#include
#include
int main() {
char str[] = "Hello World";
int len = strlen(str);
char rev[len + 1];
// 使用指针遍历字符串
char *p = str + len - 1;
int i = 0;
while (p >= str) {
rev[i++] = *p--;
}
rev[i] = '\0';
// 输出反序字符串
printf("反序字符串:%s", rev);
return 0;
}
```

反序输出数组

要反序输出一个数组,我们可以使用类似的方法。代码示例如下:```c
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
int rev[len];
// 使用指针遍历数组
int *p = arr + len - 1;
int i = 0;
while (p >= arr) {
rev[i++] = *p--;
}
// 输出反序数组
printf("反序数组:");
for (i = 0; i < len; i++) {
printf(" %d", rev[i]);
}
printf("");
return 0;
}
```

其他方法

除了使用指针遍历之外,还有其他方法可以反序输出字符串或数组。例如,我们可以使用标准库函数 strrev() 或 reverse()。

strrev() 函数


strrev() 函数可以反转一个字符串。它是 标头文件中的一个标准库函数。以下是使用 strrev() 函数反序输出字符串的示例:```c
#include
#include
int main() {
char str[] = "Hello World";
// 使用 strrev() 函数反转字符串
strrev(str);
// 输出反序字符串
printf("反序字符串:%s", str);
return 0;
}
```

reverse() 函数


reverse() 函数可以反转一个数组。它是一个自定义函数,可以手动实现。以下是使用 reverse() 函数反序输出数组的示例:```c
#include
int *reverse(int *arr, int len) {
int *rev = malloc(sizeof(int) * len);
int i, j;
for (i = 0, j = len - 1; i < len; i++, j--) {
rev[i] = arr[j];
}
return rev;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
int *rev;
// 使用 reverse() 函数反转数组
rev = reverse(arr, len);
// 输出反序数组
printf("反序数组:");
for (i = 0; i < len; i++) {
printf(" %d", rev[i]);
}
printf("");
free(rev);
return 0;
}
```

通过使用这些方法,我们可以轻松地反序输出字符串或数组,这对于各种编程任务非常有用。

2024-10-13


上一篇:C 语言指针函数:深入解析

下一篇:如何正确输出 C 语言中的负数