利用字符数组实现:输入一个字符串,然后将其倒序输出
时间: 2025-01-26 13:12:34 浏览: 40
在C语言中,你可以利用字符数组来实现字符串的倒序输出。以下是一个简单的示例:
1. 定义一个字符数组来存储输入的字符串,同时留出一个额外的位置用于存放结束符 `\0`:
```c
char str[100]; // 假设最大长度为99,包括结束符
```
2. 提示用户输入字符串并读取:
```c
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
```
注意,由于 `fgets()` 可能会把空格也一起读取进来,所以我们需要去掉最后一个空格和换行符:
```c
str[strcspn(str, "\n")] = '\0'; // 移除换行符
str[strlen(str) - 1] = '\0'; // 移除最后一个空格
```
3. 翻转字符串:使用两个指针,一个指向字符串开始,另一个指向字符串结尾,逐步交换字符直到相遇:
```c
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
```
4. 输出倒序后的字符串:
```c
printf("倒序后的字符串是:%s\n", str);
```
完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
str[strcspn(str, "\n")] = '\0'; // 移除换行符
str[strlen(str) - 1] = '\0'; // 移除最后一个空格
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
printf("倒序后的字符串是:%s\n", str);
return 0;
}
阅读全文
相关推荐


















