C语言输入一个字符串,反序用指针
时间: 2024-11-15 13:05:48 浏览: 19
在C语言中,你可以通过两个指针,一个指向字符串的开始,另一个指向结束,然后交换它们所指向的字符,逐次向中间移动直到相遇,以此来实现字符串的反转。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverse(char *str);
int main() {
char str[100]; // 假设我们有一个最多100个字符的字符串
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 输入字符串时包括换行符,需要去掉
// 去掉fgets读取的换行符
str[strcspn(str, "\n")] = '\0';
// 反转字符串并打印结果
reverse(str);
printf("反转后的字符串: %s\n", str);
return 0;
}
// 反转函数
void reverse(char *str) {
if (str != NULL && *str != '\0') { // 检查字符串是否为空
char temp; // 临时存储字符
char* start = str; // 初始化开始指针
char* end = str + strlen(str) - 1; // 初始化结束指针
while (start < end) {
temp = *start; // 保存当前字符
*start = *end; // 将结束处字符移到开始处
*end = temp; // 将开始处字符移到结束处
start++; // 开始指针前移
end--; // 结束指针后移
}
}
}
```
在这个例子中,`reverse` 函数将原字符串中的字符顺序倒置。当你运行程序并输入字符串后,它会显示反转后的字符串。
阅读全文