如何用C语言实现字符串或数组元素的逆序输出?
时间: 2024-12-15 22:18:51 浏览: 59
在C语言中,可以使用循环结构来实现字符串或数组元素的逆序输出。这里提供两种常见方法:
1. **数组逆序输出**:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("原始数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 逆序部分
for (int i = 0, j = n - 1; i < j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
printf("\n逆序数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
2. **动态数组(字符串)逆序输出**:
由于C语言标准库没有直接处理字符串逆序的函数,我们通常会先将字符串转换成字符数组,然后进行操作。
```c
#include <stdio.h>
#include <string.h>
void reverse(char* str) {
char temp;
while (*str != '\0') {
temp = *str;
*str++ = *(str - 1);
*(str - 1) = temp;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串: %s\n", str);
reverse(str);
printf("逆序字符串: %s\n", str);
return 0;
}
```
阅读全文