c语言怎么逆序输出一个字符串数组
时间: 2024-06-14 18:04:11 浏览: 149
在C语言中,可以使用循环来逆序输出一个字符串数组。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define maxn 100
int main() {
char a[maxn];
int i;
gets(a); // 或者使用 scanf("%s",a);
for(i=strlen(a)-1; i>=0; i--) {
printf("%c", a[i]);
}
return 0;
}
```
这段代码首先声明了一个字符数组 `a`,然后使用 `gets(a)` 或者 `scanf("%s",a)` 来输入字符串。接下来,使用循环从字符串的最后一个字符开始,逐个输出字符,直到第一个字符。最后,返回0表示程序正常结束。
相关问题
C语言将一个字符串数组逆序输出
在C语言中,要将一个字符串数组逆序输出,你可以通过遍历数组并逐个交换元素的位置来实现。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void reverseArray(char arr[], int start, int end) {
while (start < end) {
char temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
int main() {
char strArray[] = {"Hello", "World", "C", "Program", "Learning"};
int length = sizeof(strArray) / sizeof(strArray[0]);
// 输出原始数组
printf("Original Array:\n");
for (int i = 0; i < length; i++) {
printf("%s ", strArray[i]);
}
// 逆序数组
reverseArray(strArray, 0, length - 1);
// 输出逆序后的数组
printf("\nReversed Array:\n");
for (int i = 0; i < length; i++) {
printf("%s ", strArray[i]);
}
return 0;
}
```
在这个例子中,`reverseArray`函数接受一个字符串数组、起始索引和结束索引作为参数,然后通过两个指针从两端向中间移动并交换字符。`main`函数首先打印原数组,然后调用`reverseArray`函数,最后再打印逆序后的数组。
c语言定义一个字符数组,输入字符串,再逆序输出
可以使用以下代码来实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100]; // 定义一个最大长度为100的字符数组
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入中读入一个字符串
int len = strlen(str); // 获取字符串的长度
printf("逆序输出字符串为:");
for (int i = len - 1; i >= 0; i--) { // 从字符串末尾开始遍历并输出
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
上述代码中,使用 `fgets()` 函数从标准输入中读入一个字符串,并存储在字符数组 `str` 中。然后使用 `strlen()` 函数获取字符串的长度,从字符串末尾开始遍历字符数组,并输出每个字符,最后换行。
阅读全文