c语言 输入一个字符串,然后倒置输出该字符串,用指针实现
时间: 2024-10-21 14:02:31 浏览: 10
在C语言中,可以使用指针来倒置输入的字符串。这里是一个简单的示例,我们将通过两个指针分别指向字符串的开始和结束,然后交换它们的位置,逐次将字符移到数组的前端,直到相遇。
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
if (str == NULL || strlen(str) <= 1) { // 检查字符串是否为空或长度小于等于1
printf("Invalid string!\n");
return;
}
char start = str; // 初始化指向字符串起始位置
char end = str + strlen(str) - 1; // 初始化指向字符串结尾位置
while (start < end) { // 当起始指针小于结束指针时
char temp = *start; // 临时存储起始处的字符
*start = *end; // 将结束处的字符赋给起始处
*end = temp; // 将临时存储的字符赋给结束处
start++; // 起始指针后移一位
end--; // 结束指针前移一位
}
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,忽略换行符
input[strcspn(input, "\n")] = '\0'; // 去除fgets读取到的换行符
reverse_string(input);
printf("Reversed string: %s\n", input);
return 0;
}
阅读全文